访问SELECT语句给我错误

时间:2016-01-14 14:32:04

标签: sql vba ms-access ms-access-2007

我尝试使用查询中的一些数据填充临时表。我遇到的问题是尝试使用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

1 个答案:

答案 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