Access VBAでクエリを実行したり、ADODBを用いたトランザクション処理を行ったりするためのサンプルコード例です。
前提条件
- 対象のデータベースは Microsoft Access (.accdb) です。
- VBAエディターの参照設定で適切なライブラリが有効になっている必要があります。
サンプルコード
Public Sub BeginTransX2()
' recordset and connection variables
Dim Cnxn As ADODB.Connection
Dim strCnxn As String
Dim rstTitles As ADODB.Recordset
Dim strSQLTitles As String
' record variables
Dim strTitle As String
Dim strMessage As String
Set Cnxn = Application.CurrentProject.Connection
' クエリの実行サンプル(追加クエリ)
Dim qdf As QueryDef
Dim dbs As Database
Set dbs = CurrentDb
Set qdf = dbs.QueryDefs("クエリ1")
With qdf
.Parameters("ID指定") = 1
.Execute
End With
' トランザクションの開始
On Error GoTo trans_Err
Cnxn.BeginTrans
' 動的クエリの実行サンプル(更新クエリ)
Dim cmdChange As ADODB.Command
Set cmdChange = New ADODB.Command
Set cmdChange.ActiveConnection = Cnxn
cmdChange.CommandText = "UPDATE テーブル1 SET [テーブル1].名前 = ""bbbb"", [テーブル1].日付 = """ & Now() & """ WHERE ((([テーブル1].ID)=1));"
cmdChange.Execute
Cnxn.CommitTrans
trans_Exit:
' Clean up
If Not Cnxn is Nothing Then
If Cnxn.State Then Cnxn.Close
Set Cnxn = Nothing
End If
Exit Sub
trans_Err:
' Roll back the transaction
Cnxn.RollbackTrans
Resume trans_Exit
End Sub
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月27日
- 変更コードブロックのHTML構造を見直し、シンタックスとインデントを整理しました。
- 追加トランザクション処理およびクエリ実行のサンプルコードに関する解説と前提条件を追加しました。
