環境:Access2010、2016 両方で検証
AccessのVBA内で複数のテーブルを結合して検索や表示を行いたいと思います。
しかし、実際に行ってみると、それぞれのテーブルを結合している部分のキー(下記テーブルの「ID」)を取得しようとすると下記のエラーが出ます。
INNER JOIN このコレクションには項目がありません 実行時エラー '3265': このコレクションには項目がありません
テーブルは下記の通り
●テーブル1
ID | 品名 | 価格 |
---|---|---|
1 | パソコン | \100,000 |
2 | マウス | \500 |
3 | キーボード | \1,000 |
●テーブル2
ID | 仕入れ先 |
---|---|
1 | A社 |
2 | B社 |
3 | A社 |
テーブル1.IDとテーブル2.IDをそれぞれリレーションシップでつないでも状況は変わらず。
VBAのコードは下記のとおりです。
ID部分も取り出せるようにするにはどうすれば良いでしょうか?
lang
1Option Compare Database 2 3Sub Test() 4 Dim SQL As String, RS As Recordset 5 6 SQL = "SELECT テーブル1.*, テーブル2.* FROM テーブル1 INNER JOIN テーブル2 ON テーブル1.ID = テーブル2.ID" 7' SQL = "SELECT * FROM テーブル1, テーブル2 WHERE テーブル1.ID = テーブル2.ID AND テーブル1.ID = テーブル2.ID" '←こちらのSQLで取り出しても同じ現象 8 Set RS = CurrentDb.OpenRecordset(SQL) 9 10 Do Until RS.EOF 11 Debug.Print RS!品名; RS!価格 12 Debug.Print RS!ID '●←ここでエラーになる 13 RS.MoveNext 14 Loop 15 16 Set RS = Nothing 17 18End Sub
イミディエイト
lang
1パソコン 100000

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。