访问 - 自定义“您请求对表格的更改不成功...”
Posted
技术标签:
【中文标题】访问 - 自定义“您请求对表格的更改不成功...”【英文标题】:Access - custom "The changes you requested to the table were not succesfull..." 【发布时间】:2016-03-16 11:47:11 【问题描述】:我已将 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)
具有属性 Duplicates(No) 的 ID 字段位于 Table1 (PK) 中。我怎样才能让它正常工作?
【问题讨论】:
它怎么不能正常工作? 我有一个表格,它是连接表的连续形式。在表单的标题中,我使用 Dlookup 字段来查看我希望与 Table1 记录“加入”的 Table2 记录。在这个连续表单中,我将字段 ID_Table1(FK) 替换为显示来自 Table1 的记录的组合框,并将其值存储到 ID_Table1(FK) 中。这会创建链接。现在,如果我从该组合框中选择任何值,我就会执行此代码,即使它在 JoinTable 记录中尚不存在。所以,如果它还不存在,那么代码应该允许我链接表。 【参考方案1】:我发现,多么愚蠢的错误:
而不是
If DCount("*", "Table1", sWhere) > 0 Then
我不得不换成
If DCount("*", "JoinTable", sWhere) > 0 Then
代码不起作用,因为我引用了错误的表。问题已解决,感谢马特的回复。
【讨论】:
以上是关于访问 - 自定义“您请求对表格的更改不成功...”的主要内容,如果未能解决你的问题,请参考以下文章
Spring boot 用户自定义访问控制,自定义登录页面,退出,用户信息获取