ADOを使ってAccessデータベースに接続する方法
◆概要
このページは、Visual Basic 6.0で、ADOを使ってAccessデータベースに接続する方法について記載しています。
◆手順
次の例では、Visual Basic 6.0に付属するNWIND.MDBに接続し、テキストボックスにレコードを表示します。
準備として、VBからADOを使うために、[プロジェクト]メニューの[参照設定]ダイアログボックスで、[Microsoft ActiveX Data Objects 2.5 Library]を選択します。
次に、[プロジェクト]-[Project1のプロパティ]で[スタートアップの設定]で[Sub Main]を選択します。
フォームにコントロールを配置
フォームにコントロールを下図のように配置します。
テキストボックスは、コントロール配列にしています。最初のテキストボックスの名前を「txtFields」にした後、コピーすることでコントロールを配列にできます。
標準モジュール
Option Explicit Public cn As New ADODB.Connection Public rs As New ADODB.Recordset ' 接続文字列 Private Const CON_STRING = "Provider=Microsoft.Jet.OLEDB.3.51;" _ & "Data Source=" ' データベースのあるフォルダへのパス(グローバル変数) Public Const PUB_DBPath As String = _ "C:\Program Files\Microsoft Visual Studio\VB98" ' データベースファイル名 Private Const PUB_MDBName As String = "NWIND.MDB" ' テーブル名 Private Const TABLE_NAME = "Employees" Sub Main() ' 複数のインスタンスを防ぎます If App.PrevInstance = True Then Exit Sub End If ' データベースに接続 cn.Open CON_STRING & PUB_DBPath & "\" & PUB_MDBName ' テーブル名を指定してレコードセットを作成 rs.Open TABLE_NAME, cn, adOpenKeyset, adLockOptimistic ' フォームを表示 Form1.Show End Subフォームモジュール
Option Explicit Private Sub Form_Load() ' フォームのLoadイベントプロシージャ ' データをセット Set2Data End Sub Private Sub Form_Unload(Cancel As Integer) ' オブジェクトを開放する rs.Close: Set rs = Nothing cn.Close: Set cn = Nothing End Sub Private Sub Set2Data() ' テキストボックスにレコードセットのデータをセットする txtFields(0).Text = rs!EmployeeID txtFields(1).Text = rs!LastName txtFields(2).Text = rs!FirstName txtFields(3).Text = rs!BirthDate End Sub Private Sub cmdFirst_Click() ' 「|<」ボタン(cmdLast)のClickイベントプロシージャ ' 先頭レコードへ移動 rs.MoveFirst ' データをセット Set2Data End Sub Private Sub cmdPrevious_Click() ' [<]ボタン(cmdNext)のClickイベントプロシージャ ' 前のレコードへ移動 rs.MovePrevious If rs.BOF = True Then rs.MoveFirst End If ' データをセット Set2Data End Sub Private Sub cmdNext_Click() ' [>]ボタン(cmdNext)のClickイベントプロシージャ ' 次のレコードへ移動 rs.MoveNext If rs.EOF = True Then rs.MoveLast End If ' データをセット Set2Data End Sub Private Sub cmdLast_Click() ' 「>|」ボタン(cmdLast)のClickイベントプロシージャ ' 最終レコードへ移動 rs.MoveLast ' データをセット Set2Data End Sub
◆実行結果
ダウンロード
ソース
vbDatabase.zip(3.46KB)