Office中国论坛/Access中国论坛

标题: 求助!!!如何用form.filter实现多字段查询? [打印本页]

作者: superlirui    时间: 2007-4-19 01:38
标题: 求助!!!如何用form.filter实现多字段查询?
能否用   子窗体.form.filter=   在子窗体的表中同时实现符合不同字段a和b的查询?

还是用其他方法?小弟初学,谢谢!!!
作者: 一点通    时间: 2007-4-19 02:18
看不明,请提供示例
作者: superlirui    时间: 2007-4-19 02:26
[attach]24024[/attach]

作者: fannky    时间: 2007-4-19 20:04
给你一段代码自己研究一下:



Dim a
Dim varItm
a = ""
    For Each varItm In Me![ChooseName].ItemsSelected '以循环取得复选值
       a = a & " or 产品名称 Like" & Chr(39) & _
               Me![ChooseName].ItemData(varItm) & Chr(39)  ''''''''''''''
    Next varItm
    If a <> "" Then '去除最左边的四个字符
        a = "(" & Right(a, Len(a) - 4) & ") And "
    End If

    If IsNull(Me![StartDate]) = True And IsNull(Me![EndDate]) = False Then
        a = a & "日期 <=#" & Me![EndDate] & "# "
    ElseIf IsNull(Me![StartDate]) = False And IsNull(Me![EndDate]) = True Then
        a = a & "日期 >=#" & Me![StartDate] & "#"
    ElseIf IsNull(Me![StartDate]) = False And IsNull(Me![EndDate]) = False Then
        a = a & "(日期 between #" & Me![StartDate] & _
              "# and #" & Me![EndDate] & "#)"
    ElseIf IsNull(Me![StartDate]) = True And IsNull(Me![EndDate]) = True Then
        a = Left(a, Len(a) - 5)
    End If
     If ActMod <> "" Then

Me![SleData].Form.Filter = a And "&' 属性 = Me![ActMod]'"
    Me![SleData].Form.FilterOn = True '执行筛选
    Me![SleOk].Caption = "取消检索"
    Me![SleOk].ForeColor = RGB(255, 0, 0)
End If
Me![SleData].Form.Filter = a  '设定筛选条件
    Me![SleData].Form.FilterOn = True '执行筛选
    Me![SleOk].Caption = "取消检索"
    Me![SleOk].ForeColor = RGB(255, 0, 0)
   




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3