【发布时间】:2014-06-07 14:55:10
【问题描述】:
我想使用后面带有以下 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
如果你能帮助我,那就太好了。
【问题讨论】:
-
也许它需要一个 FROM 子句?将 SQL 更改为
DELETE * FROM OpdrachtTaak WHERE opdrachtnr...? -
@Acantud 哇,先生,做得很好。不要相信我错过了。感谢您的回答。
-
你打赌,有时只需要第二双眼睛