こちらはVBAでデータベース操作を行う方法のメモです。
目次
データの読み取り
ADODBを利用してデータの読み取りを行うサンプルです。
以下の参照設定が必要です。
- Microsoft ActiveX Data Objects 6.1 Library
- Microsoft ActiveX Data Objects Recordset 6.0 Library
SQL Serverに接続しデータを読み取る
Dim p_conn As ADODB.Connection Set p_conn = New ADODB.Connection Dim p_connectionString As String p_connectionString = "Driver={SQL Server};Server=MUNCHKIN;Uid=sa;Pwd=sa;Database=Experiment;" p_conn.Open p_connectionString Dim p_sql As String p_sql = "SELECT * FROM [dbo].[User]" Dim p_rs As ADODB.Recordset Set p_rs = New ADODB.Recordset p_rs.Open p_sql, p_conn, CursorTypeEnum.adOpenForwardOnly, LockTypeEnum.adLockReadOnly, CommandTypeEnum.adCmdText Do Until p_rs.EOF Debug.Print p_rs.Fields!ID Debug.Print p_rs.Fields("Name") Debug.Print p_rs.Fields("Age") Debug.Print p_rs.Fields("BillingAmount") p_rs.MoveNext Loop p_rs.Close p_conn.Close
ポイント
- 接続文字列部分はSQL Server用のユーザ指定版となります。
- 強調部分は適宜変更して下さい。(接続文字列部分)
- ADODB.Recordsetで値を取得する構文として
.Fields!項目名
っていうのもあるみたいです。 - SQLを発行した後は、Do Until p_rs.EOF ~~ p_rs.MoveNext Loop はテンプレです。
- オープンしたレコードセットとコネクションのクローズは忘れずに