木曜日, 10月 30, 2008
[EXCEL]ADO関連
▼質問
ADO(Microsoft Active X データ オブジェクト)の基本的な使い方を教えて欲しいんだ。
▼回答
基本的な使い方のサンプルを次に示しておくから参考にしてくれ!!
①参照設定あり
Microsoft ActiveX Data Objects 2.X Library
[変数宣言]
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
[オブジェクト生成]
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
②参照設定なし
[変数宣言]
Dim cn As Object
Dim rs As Object
[オブジェクト生成]
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
③Fieldsプロパティ
[書式]
recordset.Fields.Item(0)
recordset.Fields.Item("name")
recordset.Fields(0)
recordset.Fields("name")
recordset(0)
recordset("name")
recordset![name]
④上書きサンプル
■参考サイト
VB ADO 操作
http://www.red.oit-net.jp/tatsuya/vb/ADO.htm
アクセスVBA講座_ADO_Recordsetオブジェクトの作成
http://www.geocities.jp/cbc_vbnet/ADO/recordset.html
ADO(Microsoft Active X データ オブジェクト)の基本的な使い方を教えて欲しいんだ。
▼回答
基本的な使い方のサンプルを次に示しておくから参考にしてくれ!!
①参照設定あり
Microsoft ActiveX Data Objects 2.X Library
[変数宣言]
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
[オブジェクト生成]
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
②参照設定なし
[変数宣言]
Dim cn As Object
Dim rs As Object
[オブジェクト生成]
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
③Fieldsプロパティ
[書式]
recordset.Fields.Item(0)
recordset.Fields.Item("name")
recordset.Fields(0)
recordset.Fields("name")
recordset(0)
recordset("name")
recordset![name]
④上書きサンプル
strSQL = "SELECT COUNT(*) FROM " & strTBL & " WHERE フィールド名= 値"
Set rs = cn.Execute(strSQL)
count = rs.Fields(0)
rs.Close
If (count = 1) Then
'更新
strSQL = "SELECT * FROM " & strTBL & " WHERE フィールド名= 値"
rs.Open strSQL, cn, adOpenForwardOnly, adLockOptimistic 'SQL文を実行
rs!フィールド名= 値
rs.Update '更新(保存)
rs.Close
Else
'新規作成
strSQL = "SELECT * FROM " & strTBL
rs.Open strSQL, cn, adOpenKeyset, adLockOptimistic 'テーブルを開く
rs.AddNew '新規レコードを追加する
rs!フィールド名= 値
rs.Update '更新(保存)
rs.Close
End If
■参考サイト
VB ADO 操作
http://www.red.oit-net.jp/tatsuya/vb/ADO.htm
アクセスVBA講座_ADO_Recordsetオブジェクトの作成
http://www.geocities.jp/cbc_vbnet/ADO/recordset.html