HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0519
いてあAccess(DB)のテーブルのフィールド1解決


いてあ

リンク

2011/5/19(Thu) 15:34:40|NO.39259

MS-Access2000niにADOで接続しました。
テーブルのフィールドの値を参照したいのですが、記述の仕方がわかりません。
どうかお教えください。


↓このように記述しました。

newcom cn,"ADODB.Connection" newcom rs,"ADODB.Recordset" newcom fld,"ADODB.Field" fl="x:\\Documents and Settings\\xxx\\My Documents\\AC2000.mdb" mcall cn,"Open" , "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" + fl + ";" mcall rs,"Open" , "tablename", cn , 3 , 3 while rs("eof")=0 fld = rs("fields") mes fld("count") ; これは正しい全フィールド数が表示される atai = fld("フィールド1") ; ←ここの記述の仕方が??? mes atai mcall rs,"movenext" wend

atai = fld("0")
とか
atai = fld("(0)")
とか
atai = fld("!フィールド1")
とか指定してみても、

#Error 30 in line xx
-->無効な名前がパラメーターに指定されています

となってしまいます。

ちなみにVBAだと

Dim cn As ADODB.Connection Dim rs As ADODB.Recordset Dim fld As ADODB.Field Set cn = New ADODB.Connection Set rs = New ADODB.Recordset Dim fl As String fl = "x:\Documents and Settings\xxx\My Documents\AC2000.mdb" cn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & fl rs.Open "tablename", cn, adOpenStatic, adLockOptimistic Do While rs.EOF = False Set fld = rs.Fields(0) Debug.Print fld rs.MoveNext Loop
と同等のことを行いたいのです。
よろしくお願いします



この記事に返信する


いてあ

リンク

2011/5/19(Thu) 18:03:34|NO.39261

返信ありがとうございます!

出来ました!


while rs("eof")=0 fld = rs("fields",0) ; こんな記述するんですね^^; ;mes fld("count") ; countプロパティが無くエラーするのでコメントアウト atai = fld("value") mes atai mcall rs,"movenext" wend

助かりました。
ありがとうございました。



ONION software Copyright 1997-2023(c) All rights reserved.