Microsoftのデータベースソフトである「Access2007」で作成したACCDBファイルに接続する方法です。
Access2003までの「.mdb」形式に接続する際との違いは、Providerの記述のみとなります。
|
|
|
左の画面のような状況で利用することを前提にサンプルコードを書きます。
ボタンは「btnTest」、データグリッドビューは「dgvTest」とします。
|
|
Private Sub btnTest_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles btnTest.Click
'接続用変数の定義
'OLEデータベースの仕組みを使います。
Dim OLEDBCon As OleDb.OleDbConnection = _
New OleDb.OleDbConnection
Dim OLEDA As OleDb.OleDbDataAdapter
Dim OLEDS As DataSet = New DataSet("TABLEDATA")
Dim strSQL As String
'Accessと接続するための構文を書きます。
'Provider:接続用プログラムを指定します。
'Data Source:Accessファイルの場所を指定します。
'Persist Security Info:セキュリティ警告を非表示にします。
OLEDBCon.ConnectionString= _
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=D:\temp\test.accdb;" & _
"Persist Security Info=False"
'SQL構文を作成します。
strSQL = "select * from test"
'SQL文を作成します。
OLEDA = New OleDb.OleDbDataAdapter(strSQL,OLEDBCon)
Try
'データセットにデータを格納します。
OLEDA.Fill(OLEDS,"TEST")
'データグリッドビューのデータソースを設定します。
Me.dgvTest.DataSource = OLEDS.Tables("TEST")
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
|
|
|
|
これを実行しますと、左の画面のように、Accessファイル内の指定したテーブルのデータが表示されます。
接続に失敗した場合は、エラーメッセージを確認のうえ、Accessの接続設定や、SQL構文を再設定しましょう。
|