【发布时间】:2015-02-21 04:55:58
【问题描述】:
我有一个表 EmpRequirements,字段是:
EmpRequirementsID (AutoNumber),
EmpID (from the Employees Table),
RequirementID (from the Requirement Table),
RequirementName (from the Requirement Table),
Received_OnFile (Check),
NotApplicable (Check),
DateReceived (Date),
ExpirationDate (Date)
我想要做的是有一个按钮(添加需求),单击该按钮将为我的表单上当前的员工添加需求表(需求 ID 和 RequirementName)中的所有数据。如果我添加一个要求,我希望能够单击该按钮,它将向该员工添加当前对该员工不存在的任何和所有要求。 然后,这将在表单中显示为子表单数据表,用户可以在其中编辑 EmpRequirements 中的所有其他字段。 我曾尝试使用追加和更新,但迄今为止还没有找到答案。我想知道这是否只是一个易于编写的宏。
我已尝试使用此语句添加记录,我已退出错误处理程序,并收到运行时错误 3134 - 语法错误插入语句
Private Sub Add_Click()
' On Error GoTo Err_Add_Click
Dim strSQL1 As String
strSQL1 = "INSERT IGNORE INTO [EmpRequirements]( [EmpID], [RequirementID], [RequirementName] )" & _
"SELECT DISTINCT [Employees].[EmpID], [Requirement].[RequirementID], [Requirement].[RequirementName]" & _
"FROM [Employees], [Requirement] " & _
"WHERE (((Employees.EmpID)=[Forms]![Employee Details]![EmpID]));"
DoCmd.RunSQL strSQL1
[Forms]![Employee Details].Refresh 'Refresh after update EmpRequirements Subform
'Exit_Add_Click: ' Label to resume after error.
' Exit Sub ' Exit before error handler.
'Err_Add_Click: ' Label to jump to on error.
' MsgBox Err.Number & Err.Description ' Place error handling here.
' Resume Exit_Add_Click ' Pick up again and quit.
End Sub
这会起作用吗?您能帮忙解决错误吗?
【问题讨论】:
-
我已经尝试使用这个语句来更新表格
-
访问不支持
INSERT IGNORE。 -
非常感谢您提供的信息
-
我知道,如果我删除“忽略”,它将添加记录而不是任何重复项,但是确实会尝试添加所有记录,当然,因为我已经设置了表 [EmpRequirements].[EmpID ] 和 [EmpRequirements].[RequirementID] 作为关键字段,它不会添加重复项。我想做的是忽略重复项并仅添加新记录。我是否在代码中遗漏了会使用“不存在”的行谢谢
标签: ms-access-2010