- ベストアンサー
ACCESS VBA レコードセットの参照方法について
ACCESS2000でシステムを作っています。 ADOを使って、SELECT句に"*" を使用した内部結合でデータを 抽出したときの結果の参照方法がわかりません。 SQL="SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id" rsはレコードセット,ACはアクティブコネクションとして rs.Open SQL, AC, adOpenKeyset, adLockOptimistic にて結果を取得し、変数aにtable1のフィールド名の値を代入 しようとしています。 a = rs!table1.フィールド名 では「コンパイルエラー メソッドまたはデータメンバが 見つかりません」となり、値の参照ができません。 "*" でなく、フィールド名を明示して それぞれのフィールドに "as 別名"をつければ 参照できますが、フィールドが多いので "*"を使用したいのです。 大変初歩的な質問かと思いますが、どうかよろしくお願いします。m(_ _)m
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Dim rs as RecordSet Set rs = ほげほげ ってやってるなら a = rs.fields(1) や a = rs.fields("table1.フィールド名") で行ける筈だが?
その他の回答 (2)
- nda23
- ベストアンサー率54% (777/1415)
値 = rs.Fields(0).Value 名 = rs.Fields(0).Name 上記のようにインデックスではダメですか?
お礼
回答ありがとうございました。インデックスでも回せるわけですね。 大変参考になりました。m(_ _)m
SELECT table1.*, table2.* FROM table LEFT JOIN table2 ON table1.id = table2.id のような感じでどうでしょう。
お礼
回答ありがとうございました。 この方法も試してみましたが、同じくレコードセットの参照時にエラーとなりました。 レコードセットの参照方法については当サイトにて無事解決いたしました。m(_ _)m
お礼
をををグレート!まさにこれです。m(_ _)m これで解決しました。大変ありがとうございました。