【问题标题】:Access SELECT statements giving me errors访问 SELECT 语句给我错误
【发布时间】:2016-04-19 22:16:24
【问题描述】:

我正在尝试使用我的查询中的一些数据填充临时表。我遇到的问题是尝试使用 2 WHERE 标准选择某些数据。只要我有一个,它就会提取正确的数据并这样填充它。但是,当我尝试按两个标准进行过滤时(我需要这样做才能在正确的行中填充信息),它给了我一个错误“类型不匹配”。发生的事情是,在我的第一个条件 WHERE = " & lngCompanyID - 它的末尾没有引号,但是,当我添加另一个条件时...... WHERE CompanyID = " & lngCompanyID and 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

【问题讨论】:

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


    【解决方案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
    

    【讨论】:

    • 谢谢!像魅力一样工作。
    • @barry17 不用担心,如果您满意,请采纳答案:)
    • 如果我想在同一个循环中将模式数据添加到我的 TEMPTABLE 中,这可能吗?在这段代码中,我从 qryADDX 中选择数据,但我也想从 qryUSEDx 中选择数据并用它填充下一列。我正在努力做到这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多