簡體   English   中英

Microsoft Access運行時錯誤“ 3075”語法錯誤

[英]Microsoft Access run-time error '3075' Syntax Error

我想使用后面帶有以下VBA的按鈕刪除數據庫中的某些內容。

不幸的是,這給了我一個運行時錯誤,我也不知道為什么。 我已經看過Access如何將SQL語句返回,而在SQL Server中它沒有給我錯誤。

VBA:

Private Sub btnDeleteTaak_Click()
      If Not IsNull(Me.lstTaakMonteur) Then
        If Not IsNull(Me.comboMonteur.Value) Then
            If Not IsNull(Me.comboOpdracht.Value) Then
                Dim DeleteSQL As String
                DeleteSQL = "DELETE OpdrachtTaak WHERE opdrachtnr = " & Me.comboOpdracht.Value & " AND taaknr = " & Me.lstTaakMonteur.Value & " AND monteurcode = '" & Me.comboMonteur.Value & "'"
                DoCmd.RunSQL (DeleteSQL)
                Me.lstTaakMonteur.Requery
            Else
                MsgBox ("Er is geen opdracht geselecteerd")
            End If
        Else
             MsgBox ("Er is geen monteur geselecteerd")
        End If
    Else
        MsgBox ("Er is geen taak geselecteerd")
    End If
End Sub

錯誤:

Syntax error (missing operator) in query expression 'OpdrachtTaak WHERE opdrachtnr = 1 AND taaknr = 6 AND monteurcode = 'LM1"

表結構OpdrachtTaak:

opdrachtnr NUMERIC(5) <pk,fk2> NOT NULL
taaknr NUMERIC(3) <pk, fk3> NOT NULL
tijdsduur NUMERIC(4,1) NULL
Monteurcode VARCHAR(3) <fk1> NULL

如果您能幫助我,那將很好。

MS Access數據庫中的Delete語句與SQL Server中的Delete語句完全不同。 在MS Access中,必須在刪除查詢中包括From語句。 因此,您的代碼將是:

DeleteSQL = "DELETE * FROM OpdrachtTaak WHERE opdrachtnr = " & Me.comboOpdracht.Value & " AND taaknr = " & Me.lstTaakMonteur.Value & " AND monteurcode = '" & Me.comboMonteur.Value & "'"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM