Excel VBA ADOを使用して外部データベースに接続する

スポンサーリンク

ADOを使用して外部データベースに接続する方法

ActiveX Data Objects【アクティブエックスデータオブジェクツ】(以下ADO)を使用して外部データベースに接続するにはConnection【コネクション】オブジェクトのOpen【オープン】メソッドを使用します。

Connection.Open【コネクションオープン】メソッド

Connection.Open【コネクションオープン】メソッドの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト変数.Open( [ConnectionString, UserID, Password] )

  • オブジェクト変数(必須)
    Connection【コネクション】オブジェクト変数を指定します。
    Connection【コネクション】オブジェクトはインスタンスを生成して取得します。
  • ConnectionString【コネクションストリング】(省略可)
    外部データベースのプロバイダー名や格納場所(ファイルパス)などを指定します。プロバイダー名を代入する変数Providerとファイルパスを代入する変数Data Sourceを接続文字列として以下のように指定します。
    ConnectionString:= “Provider=設定値;” & “Data Source=設定値;”
引数ConnectionStringで使用する主な変数名
変数名 変数に設定する内容
Provider
【プロバイダー】
接続する外部データベースの種類
(プロバイダー名)を指定します。
Data Source
【データソース】
接続するデータベースの格納場所
(ファイルパス)を指定します。

変数Providerに指定する主な外部データベースのプロバイダー名
外部データベース プロバイダー名
Access2016/2013/2010/2007 Microsoft.ACE.OLEDB.12.0
Access2003/2002 Microsoft.Jet.OLEDB.4.0
SQLServer SQLOLEDB.1
Oracle MSDAORA
DB2 IBMDADB2
ODBC 接続 MSDASQL.1
  • UserID【ユーザーアイディ】(省略可)
    外部データベースに接続するときに使用するユーザー名を指定します。
  • Password【パスワード】(省略可)
    外部データベースに接続するときに使用するパスワードを指定します。

※1つのConnection【コネクション】オブジェクトで確立できる接続は1つです。別の接続を確立したい場合は、別のConnectionオブジェクトのインスタンスを生成してOpenメソッドで実行してください。


Connection.Close【コネクションクローズ】メソッド

外部データベースとの接続を切断するには、Connection【コネクション】オブジェクトのClase【クローズ】メソッドを使用します。Connection【コネクション】オブジェクトのOpen【オープン】メソッドで外部データベースを接続した後は必ず接続を切断します。

Connection.Close【コネクションクローズ】メソッドの書式と設定値の説明

オブジェクト変数.Close:Set オブジェクト変数 = Nothing

接続時に使用したConnection【コネクション】オブジェクトのインスタンスが、格納されているオブジェクト変数に対してClose【クローズ】メソッドで接続を切断し、そのオブジェクト変数にNothing【ナッシング】を代入して使用していたメモリー領域を解放します。外部データベースとのやりとりが終了した時点でこのコードを記述します。

Accessのデータファイルに接続するコード例

Sub アクセス接続()
Dim コネクション As New ADODB.Connection
コネクション.Open ConnectionString:= _
"Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:¥Users¥Desktop¥Database1.accdb;"
MsgBox "接続を確立しました。"
コネクション.Close: Set コネクション = Nothing
End Sub

ADOのライブラリファイルへの参照設定がされていることが前提のコード例です。


以上で、ADOを使用して外部データベースに接続する方法についての解説を終了します。
ありがとうございました。

スポンサーリンク

関連記事・広告