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 中(在 ms 访问中查询)并像源表一样使用它。

于 2013-09-24T10:39:39.937 回答