0

こんにちは、これが理にかなっているかどうかわかりませんが、VBA で別のクエリをクエリするにはどうすればよいですか?

以下に例を示します

これは私の最初のクエリです

strSQL1 = "SELECT DISTINCT SourceBank" _
    & ", Fullname, FirstNames" _
    & ", Surname, Company" _
    & ", EmailAddress" _
    & " FROM question" _
    & " WHERE FirstNames = '" & strFirstNames & "'" _
    Set rs = dbs.OpenRecordset(strSQL)

それから私はこのようなことをしたいです。最初のクエリをクエリする

        strSQL2 = "S"SELECT * from " & strSQL1
    Set rs1 = dbs.OpenRecordset(strSQL)

これが可能かどうかを知りたいのですが、そうでない場合は、それを回避する最善の方法は何ですか? 私がしたいのは、別のクエリ/文字列/レコードセットをクエリできるようにすることだけです。

ありがとう

4

1 に答える 1

2

あなたが書いたようにそれを行うことができます:

strSQL2="SELECT * FROM (" & strSQL1 & ")"

ただし、含めないようにしてください。strSQL1 で

更新、試してください:

strSQL2 = "SELECT Question.EmailAddress, SUBQUERY.EmailAddress &" _ 
          & "FROM Question LEFT JOIN (" & strSQL1 & ") AS SUBQUERY ON Question.EmailAddress = SUBQUERY.EmailAddress"

または、sql1 を QueryDef (ミリ秒アクセスでクエリ) に保存し、ソース テーブルのように使用します。

于 2013-09-24T10:39:39.937 に答える