Excel

データベース - 接続

あまり知識はないので、接続例の紹介のみとさせていただきます。

データベースとは言えないかもしれませんが、
まずは、動作確認しやすいエクセルへの接続例です。

Dim objConnection As ADODB.Connection
Dim objRecordset As ADODB.Recordset
Dim strConnectString As String
Dim strSource As String

'-- 接続対象の設定
    strSource = "C:\品目一覧.xls"

'-- 接続文字列の設定
    strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                       "Data Source=" & strSource & ";" & _
                       "Extended Properties=Excel 8.0;"

'-- 接続
    Set objConnection = New ADODB.Connection
    objConnection.ConnectionString = strConnectString
    objConnection.CursorLocation = adUseClient
    objConnection.Open

これで接続は完了です。
この後、必要に応じて SQL 発行などを行った後、切断するのですが、
今回は、途中処理は省略し、いきなり切断処理のサンプルコードを載せます。

    objRecordset.Close
    objConnection.Close

    Set objRecordset = Nothing
    Set objConnection = Nothing

初期処理と、終了処理についてはこれだけです。
実際に本格的に組む場合は、 Connection や Recordset は、
Public で宣言しておいた方が何かと組みやすいかと思います。
その場合、可能であればブックを開いた時に接続し、
ブックを閉じた時に切断するように組んでおけば、
処理実行の度に、接続を繰り返す必要がないので効率が良くなります。

以上で、データベース接続と切断については終わります。
ちなみに、データベースの種類によって構文が変わるので、
私自身の備忘録も兼ねて、各データベースへの接続文字列を載せておきます。
<>で囲っている部分は、環境に合わせて変えて下さい。

・Microsoft Access
    Provider=Microsoft.Jet.OLEDB.4.0
    Data Source=<source>

・Microsoft Excel
    Provider=Microsoft.Jet.OLEDB.4.0
    Data Source=<source>
    Extended Properties=Excel 8.0

・Oracle
    Provider=MSDAORA
    Data Source=<source>
    User ID=<user>
    Password=<password>

・SQL Server
    Provider=SQLOLEDB
    Data Source=<source>
    Initial Catalog=<database>
    User ID=<user>
    Password=<password>

・DB2
    Provider=IBMDADB2
    DSN=<source>
    User ID=<user>
    Password=<password>