Access 2010尝试通过表单输入唯一记录

时间:2012-07-05 20:53:45

标签: forms ms-access ms-access-2010

我试图为我的表单输入错误检查。我让用户输入名称,如果他们试图使用记录中已有的名称,我想提示他们。

示例:Person表有3条记录,其FNames为:Jeff,Kyle,Darren。

如果在Fname Box中添加个人表单输入Kyle,则更新后事件将通知用户此名称已被声明并且该字段为空。如果格雷格进入,将不会发生任何通知。

我只是不知道如何将文本字段值与过滤后的查询列表中的值进行比较,而Google搜索还有其他松散相关的链接。

谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

如果所有fnames必须唯一,请向表中添加唯一索引。这样可以防止输入重复项。表单错误属性将允许您提供自定义错误。

您还可以检查控件的Before Update事件中是否存在该名称。

在此示例中,控件和字段均称为AText。通常,您应该重命名控件,使它们与字段不同。

Private Sub AText_BeforeUpdate(Cancel As Integer)
Dim IsOk As Boolean

''One of the very few places where the .Text property is used
sLookUp = Me.AText.Text

IsOk = IsNull(DLookup("Atext", "Table1", "Atext='" & sLookUp & "'"))

If Not IsOk Then
    MsgBox "Found!"
    Cancel = True
End If
End Sub