VBA基础
判断一个表中某个字段中是否存在某个值的Acchelp_ValueIsExist函
2009-08-04 09:14:38
正 文:

函数: Public Function Acchelp_ValueIsExist(tblName As String, fldName As String, myValue As String, valueType As Integer) As Boolean '功能:判断一个表中某个字段中存在某个值,返回True表示存在,返回False表示不存在 '说明: 'tblName 是指表的名称 'FldName 是指应用条件字段的名称 'myValue 是指字段中的值 'valueType 值类型 1-文本 2-数字 3-日期 '作者:张志(网名竹笛,微软最有价值专家) '说明:您可以无偿地在您自已开发的软件中应用此函数,为了尊重作者的劳动,请保留这些说明信息。同时您不得用于盈利的商业用途,欢迎大家提出修改意见,并就此函数与作者交流     On Error GoTo Err_Acchelp_ValueIsExist:     Dim valValue As Double     Dim dateValue As String     Select Case valueType     Case 1         '文本型的值         If Not IsNull(DLookup(fldName, tblName, fldName & "='" & myValue & "'")) Then             Acchelp_ValueIsExist = True         Else             Acchelp_ValueIsExist = False         End If     Case 2         '数字型的值         valValue = Val(myValue)         If Not IsNull(DLookup(fldName, tblName, fldName & "=" & valValue)) Then             Acchelp_ValueIsExist = True         Else             Acchelp_ValueIsExist = False         End If     Case 3         '日期型的值         dateValue = "#" & myValue & "#"         If Not IsNull(DLookup(fldName, tblName, fldName & "=" & dateValue)) Then             Acchelp_ValueIsExist = True         Else             Acchelp_ValueIsExist = False         End If     End Select Exit_Acchelp_ValueIsExist:     Exit Function Err_Acchelp_ValueIsExist:     Acchelp_ValueIsExist = False     Resume Exit_Acchelp_ValueIsExist End Function

示例:     例如有客户代码表tblCodeClient,表中有字段客户名称ClientName(文本型) If Acchelp_ValueIsExist("tblCodeClient", "ClientName", "北京环球国际贸易有限公司", 1) = True Then         MsgBox "北京环球国际贸易有限公司已存在"     Else         MsgBox "北京环球国际贸易有限公司不存在" End If