我尝试使用查询中的一些数据填充临时表。我遇到的问题是尝试使用2个WHERE标准选择某些数据。只要我有一个,它就会提取正确的数据并将其填充。但是,当我尝试按两个标准进行过滤(我需要做的是为了将信息化为正确的行),它会给我一个错误" TYPE MISMATCH"。在我的第一个标准WHERE =&#34之后,会发生什么? &安培; lngCompanyID - 当我添加另一个标准时,它的末尾没有引号...... WHERE CompanyID =" &安培; lngCompanyID和UnitPrice =" &安培; lngUnitPrice" < ---在它的末尾有一个双引号,我认为它阻止它传递值。这就是代码的样子
With rs2
While Not .EOF
rs2.Edit
lngCompanyID = rs2("CompanyID")
lngUnitPrice = rs2("UnitPrice")
strSQL2 = "SELECT SumOfInvQty from qryAddx WHERE InvValue = " & lngUnitPrice And CompanyId = " & lngCompanyID"
Set rs3 = CurrentDb.OpenRecordset(strSQL2)
If rs3.recordCount > 0 Then
rs2("Added") = rs3("sumofinvqty")
rs2.Update
End If
rs2.MoveNext
Set rs3 = Nothing
Wend
End With
答案 0 :(得分:1)
您没有继续正确连接字符串。试试这个:
With rs2
While Not .EOF
rs2.Edit
lngCompanyID = rs2("CompanyID")
lngUnitPrice = rs2("UnitPrice")
strSQL2 = "SELECT SumOfInvQty from qryAddx WHERE InvValue = " & lngUnitPrice & " And CompanyId = " & lngCompanyID
Set rs3 = CurrentDb.OpenRecordset(strSQL2)
If rs3.recordCount > 0 Then
rs2("Added") = rs3("sumofinvqty")
rs2.Update
End If
rs2.MoveNext
Set rs3 = Nothing
Wend
End With