■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