当一个字段不能设为无重复,还需要在有前提条件下判断输入数据是否重复,请使用下面的函数:
例如:当“交换机编号”相同时,不提出提示框,而是“交换机编号”和“占用端口号”完全一样时,才出现提示框
Private Sub 占用端口_BeforeUpdate(Cancel As Integer)
If (Not IsNull(DLookup("[用户ID]", _
"用户资料", "[交换机编号]+[占用端口号] ='" _
& Me![ 交换机编号] + [占用端口号] & "'"))) Then
MsgBox "在本交换机编号下'占用端口号'输入重复," & _
"请核对后重新输入占用端口号", vbInformation, "警告"
Me.Form.Undo '删除新输入的内容vbCritical
Exit Sub
End If
End Sub
注:用户ID为主键;用户资料为表名称。
将Me.Form.Undo 改为:
Cancel = True '全选有重复的内容:适用于编辑窗口