Connectionオブジェクトを使って接続
Sub ADO接続1()
Dim myCon As ADODB.Connection, FileName As String
'New キーワードを使用して新規Connectionオブジェクトを生成
Set myCon = New ADODB.Connection
'接続先のデータベース
FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
'接続
myCon.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
MsgBox "接続完了!"
'接続を解除し、オブジェクトをクリア
myCon.Close: Set myCon = Nothing
End Sub
■構文
Connection オブジェクト.Open 接続文字列 |
接続文字列で指定できる設定 |
設定名 |
説明 |
Provider |
接続するデータベースに会わせて使用する OLE DB プロバイダ名を指定 |
Data Source |
接続するデータベースを指定 |
User ID |
ユーザー名を指定 |
Password |
バスワードを指定 |
代表的な OLE DB プロバイダを指定する文字列 |
Jet4.0 (Access2000以降) |
Provider=Microsoft.Jet.OLEDB.4.0 |
Jet3.51 (Access97) |
Provider=Microsoft.Jet.OLEDB.3.51 |
SQL Server |
Provider=SQLOLEDB |
Oracle |
Provider=MSDAORA |
ODBC 経由 |
Provider=MSDASQL |
ConnectionString プロパティを使用して接続
Sub ADO接続2()
Dim myCon As ADODB.Connection, FileName As String, conStr As String
Set myCon = New ADODB.Connection
'接続先のデータベース
FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
'接続文字列
conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
'ConnectionString プロパティを使用して接続
With myCon
.ConnectionString = conStr
.Open
End With
MsgBox "接続完了!"
'接続を解除し、オブジェクトをクリア
myCon.Close: Set myCon = Nothing
End Sub
参照設定をしない
Sub レコード取得1()
'参照設定をしない
Dim myCon As Object, myRS As Object, FileName As String
'New キーワードを使用して新規ConnectionオブジェクトとRecordsetオブジェクトを生成
'**参照設定をしないのでCreateObject関数を使用する
Set myCon = CreateObject("ADODB.Connection")
Set myRS = CreateObject("ADODB.Recordset")
'接続先のデータベース
FileName = ThisWorkbook.Path & "\mdb\2-sampleDB.mdb"
'接続
myCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & FileName
'接続先から「社員」テーブルの内容を読み込む
myRS.Open "社員", myCon
'A1番地を基点に転記
Range("A1").CopyFromRecordset myRS
'Recordsetオブジェクトへの接続を閉じ、オブジェクトを破棄
myRS.Close: Set myRS = Nothing
'データベースへの接続を切断し、オブジェクトを破棄
myCon.Close: Set myCon = Nothing
End Sub
※参照設定を行わないとコード作成時に入力候補が表示されない。
データリンクファイルを利用して接続
Sub ADO接続3()
Dim myCon As ADODB.Connection
Set myCon = New ADODB.Connection
'データリンクファイルを利用して接続
myCon.Open "File Name=" & ThisWorkbook.Path & "\mdb\2-DataLink.udl;"
MsgBox "接続完了!"
'接続を解除し、オブジェクトをクリア
myCon.Close: Set myCon = Nothing
End Sub
データリンクファイルと設定画面


 |