以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]请帮我看一下这段查询代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=59431)

--  作者:yangjie300
--  发布时间:2014/11/4 11:17:00
--  [求助]请帮我看一下这段查询代码
请大神们指教!

代码如下:
If e.Form.Controls("出库").Checked = True \' 如果付款状态选择了"出库"
          If Filter >"" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "出库状态 = True"
End If
If e.Form.Controls("在库").Checked = True \' 如果付款状态选择了"在库"
          If Filter >"" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "出库状态 = False Or 出库状态 Is Null"
End If
If e.Form.Controls("销售").Checked = True \' 如果付款状态选择了"销售"
          If Filter >"" Then
            Filter = Filter & " And "
        End If 
        Filter = Filter & "出库类型 = \'销售\'"
End If
If e.Form.Controls("领料").Checked = True \' 如果付款状态选择了"领料"
          If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "出库类型 = \'领料\'"
End If
If e.Form.Controls("调拔").Checked = True \' 如果付款状态选择了"调拔"
          If Filter >"" Then
图片点击可在新窗口打开查看此主题相关图片如下:qq浏览器截屏未命名.jpg
图片点击可在新窗口打开查看
            Filter = Filter & " And "
        End If 
        Filter = Filter & "出库类型 = \'调拔\'"
End If

前两个IF循环可以实现筛选查询,但后三个却不行,请大神们看看!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table

[此贴子已经被作者于2014-11-4 14:14:17编辑过]

--  作者:有点甜
--  发布时间:2014/11/4 11:23:00
--  
 报什么错?如何的不能筛选?

 代码没有错,对应例子发上来说明问题

--  作者:yangjie300
--  发布时间:2014/11/4 11:58:00
--  
例子太麻烦了,有些数据要删除的。

就是在图片状态下,再点“按出库查询”的单选按钮“销售”,查询后的结果为空的,请您再帮我看看。

--  作者:有点甜
--  发布时间:2014/11/4 12:02:00
--  
  代码没有错。具体问题请上传例子

--  作者:有点甜
--  发布时间:2014/11/4 12:04:00
--  
 试试这样写

If e.Form.Controls("出库").Checked = True \' 如果付款状态选择了"出库"
          If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "出库状态 = True"
End If
If e.Form.Controls("在库").Checked = True \' 如果付款状态选择了"在库"
          If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "(出库状态 = False Or 出库状态 Is Null)"
End If
If e.Form.Controls("销售").Checked = True \' 如果付款状态选择了"销售"
          If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "出库类型 = \'销售\'"
End If

--  作者:yangjie300
--  发布时间:2014/11/4 14:12:00
--  
还是上例子吧

就是在信息查询窗口中,按出库查询方式进行查询时,单选销售或领料或调拔时,查询筛选无效。

拜托了。

--  作者:yangjie300
--  发布时间:2014/11/4 14:15:00
--  
已上传例子在一楼,谢谢!
--  作者:有点甜
--  发布时间:2014/11/4 14:36:00
--  

Dim Filter As String = ""
With e.Form.Controls("系列名称")
    If .Value IsNot Nothing AndAlso .value <> "系列名称" Then
        Filter = "系列名称= \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("种类名称")
    If .Value IsNot Nothing AndAlso .value <> "种类名称" Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "种类名称 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("型号")
    If .Value IsNot Nothing AndAlso .value <> "型号" Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "型号 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("StartDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "生产日期>= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "生产日期 <= #" & .Value & "#"
    End If
End With
With e.Form.Controls("StartDate1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "采集日期>= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "采集日期 <= #" & .Value & "#"
    End If
End With

With e.Form.Controls("StartDate2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "出库日期>= #" & .Value & "#"
    End If
End With
With e.Form.Controls("EndDate2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "出库日期 <= #" & .Value & "#"
    End If
End With
With e.Form.Controls("TextBox2")
    If .Value IsNot Nothing AndAlso .value <> "编号" Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "编号 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("TextBox3")
    If .Value IsNot Nothing AndAlso .value <> "出库单号" Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "出库单号 = \'" & .Value & "\'"
    End If
End With


If e.Form.Controls("出库").Checked = True \' 如果付款状态选择了"出库"
          If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "出库状态 = True"
End If
If e.Form.Controls("在库").Checked = True \' 如果付款状态选择了"在库"
          If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "(出库状态 = False Or 出库状态 Is Null)"
End If
If e.Form.Controls("销售").Checked = True \' 如果付款状态选择了"销售"
          If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "出库类型 = \'销售出库\'"
End If
If e.Form.Controls("领料").Checked = True \' 如果付款状态选择了"领料"
          If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "出库类型 = \'领料出库\'"
End If
If e.Form.Controls("调拔").Checked = True \' 如果付款状态选择了"调拔"
          If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "出库类型 = \'调拔出库\'"
End If

Tables("库存表").Filter = Filter
e.Form.Controls("TextBox1").Text = Tables("库存表").Rows.Count


--  作者:yangjie300
--  发布时间:2014/11/5 9:52:00
--  
问题解决了,谢谢!