ACCESS VBAを学習しています。
今回はVBAを使ったについて学びます。
この記事では、使い方と使用例を掲載しています。
使い方については、よく使う部分だけを抜粋してご紹介しています。
詳細は公式のドキュメントをご覧ください。
説明
準備
ACCESS VBAでADOを使えるように準備を行います。
VBEを開きます。「ツール」>「参照設定」と進みます。
続いて、M行にある「Microsoft ActiveX DataObjects 6.1 Library」にチェックを入れて「OK」を選択します。
バージョン(今回は「6.1」の数字)は一番大きい(新しい)もので問題ありませんが、今後もバージョンが更新されていく可能性があります。
Pythonなど他言語では、あるライブラリの旧バージョンでは動いていたのに、新しいバージョンになると動かなくなるといった現象があります。
アップデートの際に、過去のライブラリでつかえていた機能が引き続き使えるように気を使って更新してくれていればよいのですが、必ずそうなるという保証もありません。
自分がやりたい操作を紹介しているサイトがどのバージョンを使っているのかについてはチェックしておいた方が良いと考えています。
また、バージョンによってうまく想定通りの処理ができない場合は他のバージョンを使ってみるという方法も取ることができるかもしれません。
使用例(コード)
カレントデータベースへの接続
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Private Sub button_ADO接続_カレントDB_Click() #接続準備(オブジェクトの宣言) Dim connection As New ADODB.connection Dim recordset As ADODB.recordset #カレントプロジェクトへの接続設定+接続 Set connection = CurrentProject.connection #メッセージボックスで表示 MsgBox "DBへの接続成功" #イミディエイトウインドウへの表示 Debug.Print connection.ConnectionString #接続の解除 connection.Close Set connection = Nothing MsgBox "DBへの接続解除" End Sub |
今開いているACCESSに接続する場合にはこちらを用います。
「Set connection = CurrentProject.connection」の一行だけで接続ができています。
他のDBへの接続
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
Private Sub button_ADO接続_Click() #接続準備(オブジェクトの宣言) Dim connection As New ADODB.connection Dim recordset As ADODB.recordset Dim DB_path As String Set connection = New ADODB.Connection Set recordset = New ADODB.recordset #コネクションの設定 connection.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=[フォルダパス]\ファイル名.accdb" #DBへ接続 connection.Open #メッセージボックスで表示 MsgBox "DBへの接続成功" & connection.ConnectionString #イミディエイトウインドウへの表示 Debug.Print connection.ConnectionString #接続解除 connection.Close Set connection = Nothing MsgBox "DBへの接続解除" End Sub |
他のデータベースに接続する場合はこちらを使います。
「connection.ConnectionString = ・・・」の行で、データベースの種類とデータソース(ファイルパス)を指定したうえで、「connection.Open」で接続を行っています。
データベースの種類については、カレントディレクトリに一度接続して「Debug.Print connection.ConnectionString」の内容を見ることで確認できます。(他のDBもACCESSの場合のみ)
実際にデータを表示してみる
Access VBAでADOを使って全レコードを取得する:ADOの使い方 (relief.jp)
参考
公式ドキュメントです。
Open メソッド (ADO Connection) | Microsoft Learn
接続に関して他に参考にした記事です。
アクセスVBA講座_ADO_データベースに接続 (biglobe.ne.jp)
Openの引数について
データベース(Access 等)に接続(ADO) | ExcelWork.info
ACCESSの記事を一覧にしています。ACCESS VBAの正式な情報は公式ドキュメントを読むべきですが、このサイトでは実際に使う場面を想定して紹介しているので、公式ドキュメントと併せて読んでいただくと理解が深まると思います。
コメント