Vba 如何抑制;“重复主键”;访问中的错误消息

Vba 如何抑制;“重复主键”;访问中的错误消息,vba,ms-access-2010,ms-office,Vba,Ms Access 2010,Ms Office,我在MS access 2010中创建了学生出勤应用程序,其中有两个主表。一个表是学生的基本数据,另一个表是考勤表,其中字段ID卡号和日期是主要的,因为避免了同一天的重复考勤 一个表格扫描直接附在考勤表上,当学生扫描两次时,屏幕上显示以下错误: 请求对表进行的更改未成功,因为将在索引、主键或关系中创建重复值。更改字段中的数据或包含重复数据的字段,删除索引,或重新定义索引以允许重复条目,然后重试 在考勤表中,我在错误控件中写下自己的信息,该控件正在工作并显示错误,但当我按OK时,上面的屏幕再次出现

我在MS access 2010中创建了学生出勤应用程序,其中有两个主表。一个表是学生的基本数据,另一个表是考勤表,其中字段ID卡号和日期是主要的,因为避免了同一天的重复考勤

一个表格扫描直接附在考勤表上,当学生扫描两次时,屏幕上显示以下错误:

请求对表进行的更改未成功,因为将在索引、主键或关系中创建重复值。更改字段中的数据或包含重复数据的字段,删除索引,或重新定义索引以允许重复条目,然后重试


在考勤表中,我在
错误
控件中写下自己的信息,该控件正在工作并显示错误,但当我按OK时,上面的屏幕再次出现。我想取消显示上述错误消息。

以下操作对我有效:

在更新之前的
事件处理程序中

Private Sub Form_BeforeUpdate(Cancel As Integer)
If DCount("*", "Attandence of Employee Lunch", "[RFID Number]=" & Me.RFID_Number) > 0 Then
    MsgBox "Primary key already exists."
    Cancel = True
End If
End Sub

请注意,
Cancel=True
语句会取消更新。

我认为您使用的是VBA而不是vb.net,因此在发布问题时请使用正确的标记。如果您希望我们帮助您编写代码,您需要将其显示给我们。简单地抑制错误消息几乎总是错误的方法……什么是“错误控制”??私有子表单\u在更新前(取消为整数)如果DCount(\u“*”、\ u“员工午餐附件”、\u“[RFID编号]=”、&Replace(Me.RFID\u编号、“”、“”、“”、1、-1、vbBinaryCompare)和“”)>0,则MsgBox主键已存在Cancel=True End If End sub在我的例子中Table1=attendence of Employee午餐数字字段=RFID Number如果[RFID Number]是数字,则不需要额外的引号或
Replace()
。尝试仅使用
“[RFID Number]=”&Me.RFID\u Number
作为
DLookUp()
函数的第三个参数。由于我仍然收到错误,请重新编写整个代码,谢谢,,、方法或数据成员未找到“错误”