DataGrid で 複数行の内容まで取得

解決


哲五郎  2007-08-07 01:43:41  No: 99292

VB6.0を使用しておりまして、DataGrid に  Access2000のデータのあるテーブル
を読み込んでいます。
DataGridは左端をCtrlキーを押しながら複数行を選択するところまではいいのですが、その複数行のデータを取得するにはどうしたらよいのでしょうか?
Dim Bmk As Variant  'ブックマーク用
For Each Bmk In DataGrid1.SelBookmarks
 〜〜
Next
を使ってどうにかしようとしていますが、試行錯誤しています。詳しい方おられましたら御教授お願いします。


魔界の仮面弁士  2007-08-07 02:22:00  No: 99293

「DataGridに割り当てているRecordset」の「Clone メソッド」を使って、
カーソル処理用の Recordset を取得してください。

あとは、その Recordset の Filter プロパティまたは 
Bookmark プロパティを使えば、対応するデータを得られるかと。


哲五郎  2007-08-07 02:41:16  No: 99294

cloneというのは複製を作るというような意味ですよね。

  Adodc.Recordset.Clone
  A = Adodc.Recordset.clone.Filter
  B = Adodc.Recordset.clone.Bookmark

と仮にやってみましたが、DataGridの内容(各フィールドのデータ)は得られませんでした。
そもそもなぜ複製を作成するのかという意味もよくわかりませんでした。

すみません。


哲五郎  2007-08-07 03:13:10  No: 99295

全くやり方は違いましが、プロパティなどいろいろ試して、

For Each Bmk In DataGrid1.SelBookmarks
  DataGrid1.Bookmark = Bmk
  A = Adodc.Recordset.Fields(1)
  B = Adodc.Recordset.Fields(2)
  C = Adodc.Recordset.Fields(3)
Next

というやり方で実現できました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加