Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

处理多条件查询中没有指定条件的情况

时 间:2017-09-05 10:56:29
作 者:杨雪   ID:42182  城市:南京
摘 要:逐条查询技巧:FindNext方法、NoMatch属性、IsNull()函数
正 文:

点击下载此附件


在使用AND 关键字和 or 关键字进行多条件查询时,如果某个条件没有设置,就会导致 AND 关键后 OR 关键字的一端没有条件,从而出现错误。

为了避免这种错误的出现,可以使用IsNull()函数判断输入条件的文本框是否为空,为空则通过消息对话框提示输入。



源码:

Private Sub cmd_查询_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim sch1 As String
    Dim sch2 As String
    Dim sch3 As String
    Dim sch As String
    Set db = CurrentDb()
    Set rs = Me.RecordsetClone
    rs.Bookmark = Me.Bookmark
    '判断条件是否为空
    If IsNull(txt_部门) Then
        MsgBox "请输入查询部门"
    ElseIf IsNull(txt_工资1) Then
        MsgBox "请输入工资条件1"
    ElseIf IsNull(txt_工资2) Then
        MsgBox "请输入工资条件2"
    '当所有条件都不为空时,执行查询程序
    Else
        sch1 = "[部门] like " & "'*" & txt_部门 & "*' "
        sch2 = "[实得工资]>=" & txt_工资1
        sch3 = "[实得工资]<=" & txt_工资2
        sch = sch1 & " and (" & sch2 & " or " & sch3 & ")"
        rs.FindNext sch
        If rs.NoMatch Then
            MsgBox "没有满足条件的记录"
        Else
            Me.Bookmark = rs.Bookmark
        End If
    End If
    rs.Close: Set rs = Nothing
    db.Close: Set db = Nothing
End Sub




Access软件网官方交流QQ群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助