不使用索引字段和“无重复”避免重复

时间:2010-09-15 10:46:16

标签: ms-access vba ms-access-2007

我正在寻找有关表单设计的正确方法的建议,以提示用户输入数据以避免重复记录。

例如: 用户在firstName surName字段中输入配置文件信息 很多配置文件很可能具有相同的名称(例如John Smith,因此索引字段不可能避免重复)。 如果没有提示/警告不这样做,用户可以两次输入相同的记录。

什么被认为是提示用户避免重复输入并强调记录“可能”已存在的最佳方法?

提前感谢任何建议。

2 个答案:

答案 0 :(得分:3)

我在数据输入过程中对人进行重复数据删除的方法是使用收集所需字段的未绑定表单,然后检查现有数据并显示可能匹配的列表,按匹配接近程度的降序排序。我在Soundex()和Soundex2()上使用各种子串来确定排名。

以下是我客户的某个应用中的“添加客户”表单示例:

sample Add Customer form

左边的点显示匹配的级别,红色表示精确(或接近完全 - 我不能完全回想起确切的公式),橙色表示近距离匹配,然后是黄色并且变为绿色表示非常偏远火柴。最接近的匹配位于列表的顶部。

重点是在此处完成重复检查,单击ADD按钮,然后用户必须确定是否有任何可能的匹配是真实重复,然后添加或不添加。

换句话说,我依靠人类智能来避免创建重复项,但是如果他们愿意,他们可以创建它们。但我尽量避免这样做。

答案 1 :(得分:1)

我发现在更新前事件中从表中选择匹配记录很有用,可以向用户显示可能与其他标识符匹配的列表,例如地址或出生日期,然后用户可以做出决定。这是一个新的或现有的约翰史密斯。您可能还想考虑soundex,以进行近距离比赛。