[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『adoについて』(taka) Excel2007です。adoを勉強しているのですが、ネット等で調べているのですが分からないので教えて下さい。
Excelからaxxessのデータを変更したいです。 seekを使って変更しているのですが、検索キーに合致するものを全てを変更させる書き方を教えて頂けないでしょうか?
accessのIndex = コード 検索キー = 1002です。キーが一件の場合は最初にhitしたら変更しますがキーが複数(1002が3件など)の場合はどのように一括処理を行えばよいですか?
1001 印刷済
1002 印刷済
1002 印刷済
1002 印刷済
1003
1003
Dim db As Object, rs As Object Const adOpenKeyset = 1, adLockOptimistic = 3, adCmdTableDirect = 512 Const adSeekFirstEQ = 1 '最初のキーを検索
Set db = CreateObject("ADODB.Connection")
db.Provider = "Microsoft.Ace.OLEDB.12.0"
db.Open ThisWorkbook.Path & "\サンプル.accdb"
Set rs = CreateObject("ADODB.Recordset")
rs.Open "T_顧客マスター", db, adOpenKeyset, adLockOptimistic, adCmdTableDirect
rs.Index = "コード"
rs.Seek 1002, adSeekFirstEQ
If Not rs.EOF Then
rs!印刷確認 = "印刷済"
rs.Update
End If
rs.Close: db.Close
Set rs = Nothing: Set db = Nothing
私なら・・・、
Sub test2()
Dim db As Object
Set db = CreateObject("ADODB.Connection")
db.Provider = "Microsoft.Ace.OLEDB.12.0"
db.Open ThisWorkbook.Path & "\サンプル.accdb"
db.Execute "Update T_顧客マスター set [印刷確認]='印刷済' where [コード]=1002;"
db.Close
End Sub
尚、Sql中の[コード]は、インデックスが付けられているフィールド名です。インデックス名ではないです
フィールド名 と インデックス名が違うなら、訂正してください
ichinose
無事、作動確認できました。
指摘の「Sql中の[コード]は、インデックスが付けられているフィールド名です。インデックス名ではないです
」恥ずかしながら最近知りました!
Updateの使い方、勉強になりました。
(taka)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.