共计 991 个字符,预计需要花费 3 分钟才能阅读完成。
1、DCount
文本型数据
If DCount("文本型字段名", "表名称", "文本型字段名 ='" & Me. 文本型字段名 & "'") > 0 Then
MsgBox "你输入的数据已经存在,请重新输入", vbCritical, "警告"
Me. 文本型字段名.SetFocus
Exit Sub
End If
文本型数据
‘判断数字型不能重复录入使用 DCount 函数方法:
If DCount("数值型字段名", "表名称", "数值型字段名 =" & Me. 数值型字段名) > 0 Then
MsgBox "你输入的数字已经存在,请重新输入", vbCritical, "警告"
Me. 数值型字段名.SetFocus
Exit Sub
End If
2、Dlookup
Dim z As Long
z = DLookup("数值型字段名", "表名称", "数值型字段名 =" & Me. 数值型字段名)
If Not IsNull(z) Then
MsgBox "你输入的数字已经存在,请重新输入", vbCritical, "警告"
Me. 数值型字段名.SetFocus
Exit Sub
End If
日期型数据
Dim x As Variant
x = DLookup("日期型字段名", "表名称", "日期型字段名 = #" & Me. 日期型字段名 & "#")
If Not IsNull(x) Then
MsgBox "你输入的日期已经存在,请重新输入", vbCritical, "警告"
Me. 日期型字段名.SetFocus
Exit Sub
End If
3、ADO 遍历数据库
Dim Rs As ADODB.Recordset
Dim strtemp As String
Dim i As Integer
Dim Xitong As Boolean
Set Rs = New ADODB.Recordset
strtemp = "select * from 字段所在表"
Rs.Open strtemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If Rs.RecordCount <= 0 Then
' 判断记录是否存在
Rs.MoveFirst
For i = 0 To Rs.RecordCount - 1
If (Rs("字段名称") = Me![字段名称]) Then
MsgBox "你输入的数据已经存在,请重新输入", vbCritical, "警告"
Me. 字段名称.SetFocus
Exit Sub
Else
Rs.MoveNext
End If
Next i
End If