我已将Duplicates(No)设置为我的某个表ID。然后我使用Combobox创建了一个表单,以从该表中选择所有记录,并将所选记录存储在连接表的字段中(ID外键)。如果我尝试添加具有相同ID的另一条记录,Access会提示我一条警告消息“您对该表请求的更改未成功...等等。”
我想要的是删除此邮件并创建自定义邮件。这是我试过的:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim sWhere As String
sWhere = "[ID_Table]=" & Me.Combo5
'
If DCount("*", "Table1", sWhere) > 0 Then
Cancel = True
Me.Undo
MsgBox " Duplicate"
End If
End Sub
此代码执行如果我从组合框中选择任何值。这是我的表格:
Table1
ID_Table(PK)
Field1
Field2 etc.
JoinTable
ID_Join(PK)
ID_Table1(FK)
ID_Table2(FK)
ID具有Duplicates(No)属性的字段在Table1(PK)中。我怎样才能正常工作?
答案 0 :(得分:0)
我想通了,这是一个多么愚蠢的错误:
而不是
If DCount("*", "Table1", sWhere) > 0 Then
我不得不改为
If DCount("*", "JoinTable", sWhere) > 0 Then
代码没有用,因为我引用了错误的表。问题解决了,谢谢你的回应马特。