【问题标题】:Preventing Duplicate entries in an Access form if the value exists in multiple tables如果值存在于多个表中,则防止 Access 表单中的重复条目
【发布时间】:2018-04-09 04:25:42
【问题描述】:

我有一个包含两个表和一个表单的 Access 数据库。该表格链接到其中一个表格以进行数据输入。我有LIVEDB,这是一张实时客户信息表。 LIVEDBINPUT 将信息输入到LIVEDBCANCELLATIONDB 的表单,这只是一个表格。当有人取消时,它们会从LIVEDB 简单剪切并粘贴到CANCELLATIONDB。我有各种各样的规则来防止LIVEDBINPUT表单中的重复,但我最近遇到了一个问题。

LIVEDBINPUT 表单不能防止 CANCELLATIONDBtable, only theLIVEDB` 表中的重复。

如果电话号码已经出现在LIVEDBCANCELLATIONDB 表中,我希望该表单防止输入电话号码。

如果我可以配置一个消息框显示“此电话号码已存在于 LIVEDB 或 CANCELLATIONDB 中”之类的内容,那么将用户带到该记录或删除它的选项将是理想的。

我找到了大量关于如何在一个表的多个列中实现这一点的信息,但我无法解决或找到防止两个表重复的方法。用于表单的 IE,以防止创建两个表中的任何一个中已存在的重复项。

【问题讨论】:

  • 你能分享一个你迄今为止拥有的数据和相关代码的例子吗? (参见“minimal reproducible example”。)另外,这两个表是否有任何关系/数据完整性规则设置?
  • 不,他们没有设置任何这些,因为我无法解决它们。尽管它们的组成是相同的表

标签: ms-access duplicates


【解决方案1】:

构造一个UNION 查询,生成存储在LIVEDB 表和CANCELLATIONDB 表中的所有记录,然后在存储新记录之前测试此查询中的现有记录。

假设您的CANCELLATIONDB 表与您的LIVEDB 表具有相同的结构(因为您将记录从一个移动到另一个),UNION 查询可能很简单:

SELECT * FROM LIVEDB UNION SELECT * FROM CANCELLATIONDB

【讨论】:

  • 将创建一个大喇叭记录集。谨防。你最好合并表格并设置取消标志。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-29
  • 1970-01-01
  • 1970-01-01
  • 2018-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多