Foxtable(狐表)用户栏目专家坐堂 → [求助]请帮我看一下这段查询代码


  共有3039人关注过本帖树形打印复制链接

主题:[求助]请帮我看一下这段查询代码

帅哥哟,离线,有人找我吗?
yangjie300
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:69 积分:562 威望:0 精华:0 注册:2014/10/14 16:06:00
[求助]请帮我看一下这段查询代码  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/4 11:23:00 [只看该作者]

 报什么错?如何的不能筛选?

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

 回到顶部
帅哥哟,离线,有人找我吗?
yangjie300
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:69 积分:562 威望:0 精华:0 注册:2014/10/14 16:06:00
  发帖心情 Post By:2014/11/4 11:58:00 [只看该作者]

例子太麻烦了,有些数据要删除的。

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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/4 12:02:00 [只看该作者]

  代码没有错。具体问题请上传例子

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:69 积分:562 威望:0 精华:0 注册:2014/10/14 16:06:00
  发帖心情 Post By:2014/11/4 14:12:00 [只看该作者]

还是上例子吧

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

拜托了。

 回到顶部
帅哥哟,离线,有人找我吗?
yangjie300
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:69 积分:562 威望:0 精华:0 注册:2014/10/14 16:06:00
  发帖心情 Post By:2014/11/4 14:15:00 [只看该作者]

已上传例子在一楼,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:69 积分:562 威望:0 精华:0 注册:2014/10/14 16:06:00
  发帖心情 Post By:2014/11/5 9:52:00 [只看该作者]

问题解决了,谢谢!

 回到顶部