- 締切済み
Set rst = db.OpenRecordset("SELECT
Set rst = db.OpenRecordset("SELECT a.name FROM tableA inner JOIN TABLEB ON [a].name = [b].name where [a].age <> [a].age", dbOpenDynaset) のようなSQLで、名前は同じで年だけ違うデータを取得して Do Until rst.EOF = True までデータを書き出す処理をアクセスのモジュールで作成しているのですが、、 なぜか結果が繰り返しでてきてしまいます。 例: たろう 30歳 はなこ 15歳 いちこ 10歳 たろう 30歳 はなこ 15歳 ・・・ のように、たろう~いちこのセットが何度もかかれてしまいます。 EOFとは、あくまでファイルの終わりを意味していて、SELECTの結果が3件の場合でも、 ファイルの30件までは繰り返し処理をしてしまうということでしょうか? 3件だけ出力するにはどうしたらいいのか教えてください。
- みんなの回答 (3)
- 専門家の回答
補足
すみません・・・。 会社のDB名やテーブル名を使っているので、コピーするわけにはいかず、いろいろと言葉を変更していたらおかしなSQLになってしまっていました。 構文がおかしいわけではないんです。 オラクルDB上で実際動かしてはいますし、 今やろうとしているのはアクセスのVBAでのSQLです。 失礼しました。