我正在尝试更新表单中的记录。这是一个餐厅预订系统。给定表#,表单可以让用户输入预订人的客户ID,预订时间和日期。但是当我点击表单中的“更新”按钮时,会弹出一个文本框:
无论我输入什么,运行时错误“参数太少。预期1.”弹出。有时会弹出“保留错误”。有人能帮助我吗?这是我最终完成这个项目的最后一步。
这是我更新记录的代码:
Private Sub Command8_Click()
On Error GoTo errHandling
Dim strSQL As String
strSQL = "UPDATE tblReserve SET CustomerID = " & """" & Me.txtCustID & """" & _
", ResDate = " & """" & Me.txtResDate & """" & ", ResTime = " & """" & Me.txtTime & """" & " WHERE TableNum =" & Me.TableNum
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
CurrentDb.Execute strSQL, dbFailOnError
DoCmd.Close
Exit Sub
errHandling:
MsgBox Err.Description
End Sub
带有Debug.Print strSQL
答案 0 :(得分:2)
正如我们chat所揭示的那样,问题的实质是[TableNum]是一个文本字段,因此其值必须用引号括起来:
"... WHERE TableNum = '" & Me.TableNum & "'"
答案 1 :(得分:0)
尝试这样的事情
strSQL = "UPDATE tblReserve SET CustomerID = " & Me.txtCustID & _
", ResDate = " & "'" & Me.txtResDate & "'" & ", ResTime = " & "'" & Me.txtTime & "'" & " WHERE TableNum =" & Me.TableNum
我不确定为什么你在双引号内有两套双引号,我认为你要找的是单引号:)
但是,有更好的方法来格式化sql而不是这个。这看起来像是家庭作业,所以要学习!