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
空の Recordset を別に用意して、そちらと差し替えるとか。
提案の通り、Recordsetの差し替えで対応しようと思います。
ありがとうございました。
ツイート | ![]() |