大家好我不知道这是否有意义,但我怎样才能在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)
我只是想知道这是否可能,如果没有,那么最好的方法是什么? 我想要做的就是能够查询另一个查询/字符串/记录集。
感谢
答案 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访问中的查询)并像源表一样使用它。