【问题标题】:VBA Update query for multi fields多字段的VBA更新查询
【发布时间】:2016-01-30 06:22:23
【问题描述】:

我一直在尝试修复此代码,但不知道为什么我的参数太少:1 错误

strSQL = "UPDATE tblProduct "
strSQL = strSQL & "SET [Verified_By] = " & Me.txtCurrentUser & "" & " , [Verified_Date] = #" & Me.txtAuto_Date & "#" & ", [Status] = ""Verified"""
strSQL = strSQL & " WHERE [Status] = ""Not Verified""" & " AND [Verify] = -1"

在 VBA 中将变量附加到查询的语法仍然存在问题。该查询适用于我在 Access 中的UPDATE 语句。

这是我在 Access 查询中使用的:

UPDATE tblProduct SET Verified_By = forms!frmVerificationProduct!txtcurrentuser, Verified_date = forms!frmVerificationProduct!txtAuto_date, Status = "Verified"
WHERE verify = -1 AND Status = "Not Verified";

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    如果tblProduct.Verified_By 字段是文本数据类型,则问题在于UPDATE 提供了一个未加引号的文本值。当 Access 看到不带引号的文本值时,它会假定它一定是您没有为其提供值的参数。

    在这种情况下,您可以修改代码以包含所需的引号或切换到参数查询,而不必为引号所困扰...

    Dim db As DAO.Database
    Dim qdf As DAO.QueryDef
    Dim strSQL As String
    strSQL = "UPDATE tblProduct" & vbCrLf & _
        "SET [Verified_By] = [pCurrentUser], [Verified_Date] = [pAuto_Date], [Status] = 'Verified'" & vbCrLf & _
        "WHERE [Status] = 'Not Verified' AND [Verify] = -1"
    Debug.Print strSQL ' <- view in Immediate window; Ctrl+g will take you there
    Set db = CurrentDb
    Set qdf = db.CreateQueryDef(vbNullString, strSQL)
    qdf.Parameters("pCurrentUser").Value = Me!txtCurrentUser.Value
    qdf.Parameters("pAuto_Date").Value = Me!txtAuto_Date.Value
    qdf.Execute dbFailOnError
    

    【讨论】:

      【解决方案2】:

      应该这样做:

      strSQL = "UPDATE tblProduct "
      strSQL = strSQL & "SET [Verified_By] = " & Me.txtCurrentUser & ", [Verified_Date] = #" & Format(Me.txtAuto_Date, "yyyy\/mm\/dd") & "#, [Status] = 'Verified' "
      strSQL = strSQL & "WHERE [Status] = 'Not Verified' AND [Verify] = -1"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多