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

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 用户自定义访问控制,自定义登录页面,退出,用户信息获取

Spring boot 用户自定义访问控制,自定义登录页面,退出,用户信息获取

打开自定义认证模块访问http会话

如何使自定义 UIView 可访问?