在VBA中查询查询

时间:2013-09-24 10:27:25

标签: mysql vba ms-access access-vba

大家好我不知道这是否有意义,但我怎样才能在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)

我只是想知道这是否可能,如果没有,那么最好的方法是什么? 我想要做的就是能够查询另一个查询/字符串/记录集。

感谢

1 个答案:

答案 0 :(得分:2)

你几乎可以像你写的那样做:

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

但请务必不要包含;在strSQL1中

upd,试试:

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

或者只是将sql1保存到QueryDef(ms访问中的查询)并像源表一样使用它。