Visual Basic 6による実践データベースプログラミング

サポートページ

この記事を読むのに必要な時間:およそ 0.5 分

補足情報

本書の制作時にはAccess97しかなかったため,解説には,すべてAccess97を使用しております。そのままAccess2000形式に接続すると不具合があります。以下の点に注意して,書籍中の記述をお読み替えください。

[1] 接続情報文字列

Microsoft Access2000形式以降のデータベースに接続するときに使用するOLE DBプロバイダは「Microsoft.Jet.OLEDB.4.0」です。本書に記載されているプログラムの対応する箇所を,次のように変更してください。

【変更の必要な箇所】

ConnectionオブジェクトのConnectionStringプロパティ

【プログラム例】

Dim cn As ADODB.Connection

Set cn = New ADODB.Connection

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _

& "Data Source=C:\Sample.mdb"

cn.Open

[2] データグリッドコントロール

「Microsoft.Jet.OLEDB.4.0」を利用しているとき,取得したレコードセットの内容をデータグリッドに表示するには,RecordsetオブジェクトのOpenメソッドを実行する前に,RecordsetオブジェクトのCursorLocationプロパティを設定する必要があります。

【プログラム例】

Dim cn As ADODB.Connection

Dim rs As ADODB.Recordset

'データベースに接続

Set cn = New ADODB.Connection

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _

& "Data Source=C:\Sample.mdb"

cn.Open

'レコードセットを取得

Set rs = New ADODB.Recordset

rs.CursorLocation = adUseClient '<--追加

rs.Open "本", cn

'データグリッドに出力

Set DataGrid1.DataSource = rs

以上