■ConnectionオブジェクトはDBへの接続を保持するオブジェクトです。
Connectionオブジェクトの主なプロパティ
プロパティ | 説明 |
---|---|
ConnectionString | データベースへの接続情報を返す |
State | データベースへの接続状態を返す |
Connectionオブジェクトの主なメソッド
メソッド | 説明 |
---|---|
Open | データベースへの接続を開く |
Close | データベースへの接続を閉じる |
Execute | コマンドを実行する |
BeginTrans | トランザクションを開始する |
CommitTrans | 変更を保存してトランザクションを終了する |
RollbackTrans | 変更を取り消してトランザクションを終了する |
【カレントデータベースに接続する場合】
Dim CN As ADODB.Connection SET CN = CurrentProject.Connection
【カレント以外のデータベースに接続する場合】
Dim CN As ADODB.Connection Set CN = New ADODB.Connection CN.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=データベースのパス" CN.Open
【データベースファイルにパスワードがかかっている場合の接続方法】
Dim CN As ADODB.Connection Set CN = New ADODB.Connection CN.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=データベースのパス;" & _ "Jet OLEDB:Database Password=xxxxx;" CN.Open
【参考】
予めConnectionStringプロパティに接続文字列を設定しなくてもOpenメソッドの第一引数に直接接続文字列を指定することでDBに接続できる。
Dim CN As ADODB.Connection Set CN = New ADODB.Connection CN.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=データベースのパス"
■Stateプロパティの戻り値
戻り値 | 説明 |
---|---|
adStateOpen | データベースに接続している |
adStateClosed | データベースに接続していない |
【DBの接続状態を確認する/カレントデータベース】
Sub Test1() Dim CN As ADODB.Connection Set CN = CurrentProject.Connection Select Case CN.State Case adStateOpen MsgBox "データベースに接続しています" Case adStateClosed MsgBox "データベースに接続していません" End Select Set CN = Nothing End Sub
【DBの接続状態を確認する/カレント以外のデータベース】
Sub Test2() Dim CN As ADODB.Connection Set CN = New ADODB.Connection CN.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=" & CurrentProject.Path & _ "\test.accdb" CN.Open Select Case CN.State Case adStateOpen MsgBox "データベースに接続しています" Case adStateClosed MsgBox "データベースに接続していません" End Select CN.Close Set CN = Nothing End Sub
■定数の値確認用参考URL およびプロバイダの設定値確認用URL
データベース(Access 等)に接続(ADO) | ExcelWork.info