下記のような手順でMDBファイルの内容をデータグリッドに表示する
ことができました。(VB2005)
#ほとんどサンプル借用です
応用として、同一MDBファイルの中にある別テーブル(たとえばTBL2)を
datset1.Tables(1)
として使えるようにするにはどのようにしたらいいのでしょうか?
Select Busho,ID_B from TBL2 where ID_B >0
のようなSelect文の結果をTables(1)に入れたいわけです。
'データベース接続オブジェクト
Dim dbcon0 As New OleDb.OleDbConnection
dbcon0.ConnectionString= _
"provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\test.mdb"
dbcon0.Open()
'データセット
Dim datset1 As New DataSet
'データアダプタ
Dim dbadpt1 As New OleDb.OleDbDataAdapter
'コマンド
Dim dbcmdSelect As New OleDb.OleDbCommand
'セレクトコマンド作成
dbcmdSelect.CommandText = _
"Select Bangou,Namae,ID from TBL where ID >0" dbcmdSelect.Connection = dbcon0
'データアダプタにセレクトコマンドを設定
dbadpt1.SelectCommand = dbcmdSelect
'データセット初期化
datset1.Clear()
'データセットにデータを入れる
dbadpt1.Fill(datset1)
'データセットを使う
Me.DataGrid1.DataSource = datset1.Tables(0)
> 応用として、同一MDBファイルの中にある別テーブル(たとえばTBL2)を
> datset1.Tables(1)
> として使えるようにするにはどのようにしたらいいのでしょうか?
dbadpt2.Fill(datset1, "NewTable")
のように,名前を付けてFillしてやればよいです。
この方法だと,
datset1.Tables("NewTable")
のように名前でのアクセスもできます。
# ここの名前は,DB上の名前とは (当然ながら) 別物です。
できました!
ありがとうございました!
#しかしヘルプを見てもこのことについては書いていないようですね。
#不思議・・・
ツイート | ![]() |