DataGrid のデータ挿入と削除について

解決


ロビン  2009-04-23 10:05:27  No: 101671  IP: 192.*.*.*

WindosXP  SP2
VB6.0
です。

DatagridとADODBを使いデータ表示を行っています。
行き詰っていることが二点あります。

①データグリッド内データの一括削除方法がわからない。
  そのため、ループで1件ずつ削除するようにしています。

②データ全削除時の画面更新が制御できない。
  Refresh(画面更新)しなければ良いと思ったのですが、
  実際は1件ずつ更新されてしまいます。
  VBAでのScreenUpdeting のように画面更新を
  停止できる機能はないのでしょうか?
  削除中は画面非表示という方法は避けたいです。

以上2件についてなにか良い方法はありませんでしょうか?
よろしくお願いします。

以下はプログラムのサンプルです。
Form上にDataGrid1を貼り付けているものとします。
---------------------------------------
Dim rst As ADODB.Recordset

Private Sub Form_Load()
    Set rst = New ADODB.Recordset
    rst.CursorLocation = adUseClient' Open the Recordset
    rst.Open , , adOpenStatic, adLockBatchOptimistic
    rst.Fields.Append "テスト列A", adVarChar, 7, adFldIsNullable     
    rst.Fields.Append "テスト列B", adVarChar, 7, adFldIsNullable   
    Set DataGrid1.DataSource = rst
End Sub

’クリアボタンクリック
Public Sub Clear_Click()
    'クリア
    Do Until rst.RecordCount = 0
        rst.MoveFirst
        rst.Delete
    Loop
    DataGrid1.Refresh
End Sub

編集 削除
魔界の仮面弁士  2009-04-24 03:28:09  No: 101672  IP: 192.*.*.*

空の Recordset を別に用意して、そちらと差し替えるとか。

編集 削除
ロビン  2009-05-07 09:08:03  No: 101673  IP: 192.*.*.*

提案の通り、Recordsetの差し替えで対応しようと思います。
ありがとうございました。

編集 削除