我一直致力于创建一个非常简单的数据库,每个列只有4个表,只有几个信息。我的一张桌子名为" Customer"在这个表的内部有4列信息。
我的" AddCustomerForm"运行以下命令
Private Sub cmdadd_Click()
CurrentDb.Execute "INSERT INTO Customer(Customer ID, Email, Identifier) " & _
= VALUES(Customer ID, Email, Identifier)
End Sub
有人可以指出我搞砸了什么吗?我收到的错误是:
语法错误。
答案 0 :(得分:3)
我看到一些问题 - [客户ID]是自动编号字段吗?如果是这样,请不要包含它。
此外 - 如果您正在运行手动插入,我假设您的表单未绑定到您的表格,但我开始想知道为什么客户ID在表单上显示为可编辑?
最后,看起来“位置”是属于“商家ID”字段中填写的“位置”下拉列表的ID字段的数字ID
这将帮助您调试SQL并向我们显示错误的内容
将其添加到按钮,并在代码暂停时向我们显示立即窗口中显示的值
Dim strSQL as string
strSQL = "INSERT INTO Customer ([Customer ID], Email, Identifier) VALUES (" _
& me.[Customer ID] & ",""" & Me.[Email] & """,""" & Me.[Identifier] & """)"
Debug.print strSQL
CurrentDb.Execute strSQL
如果客户ID是自动编号,请尝试此操作(假设表单为UNBOUND),并且Location是下拉列表第一列的ID值
Dim strSQL as string
strSQL = "INSERT INTO Customer (Email, Identifier) VALUES (" _
& me.[Customer ID] & ",""" & Me.[Email] & """, & Me.[Identifier] & ")"
Debug.print strSQL
CurrentDb.Execute strSQL
答案 1 :(得分:1)
Private Sub cmdadd_Click()
CurrentDb.Execute "INSERT INTO Customer ([Customer ID], Email, Identifier) VALUES([Forms]![MyFormName]![CustomerIDTextboxName], [Forms]![MyFormName]![EmailtextboxName], [Forms]![MyFormName]![IdentifierTextboxName]);"
End Sub
访问需要带有空格的任何字段名称周围的括号。我还删除了=
之前的VALUES
并更改了值以引用您的表单控件,您必须对其进行适当的命名。您还需要使用分号来完成语句,并且需要关闭双引号。
This页面可能有助于语法。