如何修复访问VBA中更新语句中的语法错误



我正在尝试构建一个数据库,但在 UPDATE 语句中遇到了语法问题。有谁知道这句话有什么问题?

我尝试调整单引号和双引号的使用,但它仍然不起作用。

    CurrentDb.Execute "INSERT INTO tbl_SponsorContacts (ContactName, ContactEmail, ContactPhone, SponsorID )" _
    & " VALUES ('" & Me.txtContactName & "','" & Me.txtContactEmail & "', '" & Me.txtContactPhone & "' , '" & Me.txtSpnID & "')"
    Else
    CurrentDb.Execute "UPDATE tbl_SponsorContacts SET ContactName = " _
    & " '" & Me.txtContactName & "', ContactEmail = '" & Me.txtContactEmail & "', " _
    & " ContactPhone = '" & Me.txtContactPhone & "', SponsorID = '" & Me.txtSpnID & "', WHERE ContactID = '" & Me.txtContactID & "'"
    End If
    Exit Sub

我不断收到 3144 语法错误,该错误没有提供有关原因的任何提示。任何帮助,不胜感激。

更新:感谢Jerry M.和forpas建议在何处删除逗号。这有所帮助,但我没有收到错误 3061,"参数太少。预计 1"。我将发布一个新问题。

正如@forpas评论中提到的,看起来你有一个额外的,

请尝试以下操作:

CurrentDb.Execute "INSERT INTO tbl_SponsorContacts (ContactName, ContactEmail, ContactPhone, SponsorID )" _
& " VALUES ('" & Me.txtContactName & "','" & Me.txtContactEmail & "', '" & Me.txtContactPhone & "' , '" & Me.txtSpnID & "')"
Else
CurrentDb.Execute "UPDATE tbl_SponsorContacts SET ContactName = " _
& " '" & Me.txtContactName & "', ContactEmail = '" & Me.txtContactEmail & "', " _
& " ContactPhone = '" & Me.txtContactPhone & "', SponsorID = '" & Me.txtSpnID & "'WHERE ContactID = '" & Me.txtContactID & "'"
End If
Exit Sub ```

最新更新