访问 - 自定义“您向表格请求的更改未成功...”

时间:2016-03-16 11:47:12

标签: ms-access access-vba ms-access-2010

我已将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)中。我怎样才能正常工作?

1 个答案:

答案 0 :(得分:0)

我想通了,这是一个多么愚蠢的错误:

而不是

If DCount("*", "Table1", sWhere) > 0 Then 

我不得不改为

 If DCount("*", "JoinTable", sWhere) > 0 Then 

代码没有用,因为我引用了错误的表。问题解决了,谢谢你的回应马特。