1

ODBC経由でMS SQLデータベースに接続するAccess 2007を使用しています。次のような「bases」というテーブルがあります。

Name     ID     Site
--------------------
Home      1      111
Work      2      111
Car       3      111
Castle    4      111
Store     1      222
Rest      2      222

ここで注意が必要なのが、この表の唯一の部分がサイトであるということです。
DLookup を実行して最初のレコード (Home,1) を取得し、これらを変数に格納できることはわかっています。
しかし、どうにかして次のレコード (Work, 2) を取得し、これらを他の変数に格納してから、サイトが 111 である間にすべてのレコードが変数に格納されるまでテーブルをループする必要があります。
何か案は?これの目的は、これらの返された値を文字列として保存し、最終的に複雑なクエリに入れることです。

4

2 に答える 2

4

私は少しさびていますが、次のようなクエリを実行できるはずです。

SELECT * FROM Bases WHERE Site = 111

これをレコード セットに戻してから、必要に応じて、ストレージと将来の使用のために項目を配列に追加するレコード セットを単純にループします。

レコードセットに慣れていない場合は、この記事をご覧ください。

于 2009-04-21T22:15:13.573 に答える
0

ある日、私の前に言ったように、結果セットをループして 2 番目のクエリを作成することは、最適なソリューションではありません。

2番目の(複雑な)クエリがどのように見えるかわかりませんが、このようなことはできませんか?

select * from OtherTable 
where Name in 
(
    select Name from Bases where Site = 111
)
于 2009-05-03T16:32:39.163 に答える