Foxtable(狐表)用户栏目专家坐堂 → [求助]如何用按钮实现查询表的筛选和导出?


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

主题:[求助]如何用按钮实现查询表的筛选和导出?

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


加好友 发短信
等级:幼狐 帖子:94 积分:862 威望:0 精华:0 注册:2017/7/9 3:59:00
[求助]如何用按钮实现查询表的筛选和导出?  发帖心情 Post By:2017/7/13 13:42:00 [显示全部帖子]

感谢老师一直提供的支持与帮助!

现在又遇到了一个问题想请教一下老师。

现在整体查询和编译已经基本完成,想用窗体实现查询表的条件导出。

在窗口中设定几个条件控件,然后用按钮一键筛选,导出excel表格。

文本框已经绑定到列,但是代码不知道要怎么写。。

感谢老师!

尝试用过
tables("表名").filter("筛选表达式")
这种多条件的不知道要怎么写,因为这几个条件有时候是只筛选其中一两个条件。

图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2017/7/22 1:13:41编辑过]

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


加好友 发短信
等级:幼狐 帖子:94 积分:862 威望:0 精华:0 注册:2017/7/9 3:59:00
  发帖心情 Post By:2017/7/13 15:26:00 [显示全部帖子]

谢谢老师!已经成功了!

另外还有一个疑问

现在这三张表的关联,如果表“产品供应商”没有填写该产品对应的供应商,则在查询表 采购关联 中不会显示出该产品,有没有方式可以检查该关联?做到 如果没有填写产品供应商,就弹出一个对话框显示有产品未设置供应商。必须全部设置完成后才能执行同步表生成采购关联表。

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


加好友 发短信
等级:幼狐 帖子:94 积分:862 威望:0 精华:0 注册:2017/7/9 3:59:00
  发帖心情 Post By:2017/7/13 16:56:00 [显示全部帖子]

感谢老师!
还有一个问题,如果筛选条件是复选框,那代码应该怎么修改呢?

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


加好友 发短信
等级:幼狐 帖子:94 积分:862 威望:0 精华:0 注册:2017/7/9 3:59:00
  发帖心情 Post By:2017/7/13 17:23:00 [显示全部帖子]

好的老师!我先研究一下

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


加好友 发短信
等级:幼狐 帖子:94 积分:862 威望:0 精华:0 注册:2017/7/9 3:59:00
  发帖心情 Post By:2017/7/13 17:42:00 [显示全部帖子]

老师,我写的代码执行了之后如果是每个选项单选的话没问题,但是如果是选项是多选的话筛选结果就为空了。。改了几次结果都一样,麻烦老师帮忙看看

Dim Filter As String
With e.Form.Controls("CheckedComboBox1")
    If .Value IsNot Nothing Then
        Filter = "产品种类_产品大类 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("CheckedComboBox2")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "供应商 = '" & .Value & "'"
    End If
End With
With e.Form.Controls("CheckedComboBox4")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "品名 = '" & .Value & "'"
    End If
End With
If Filter > "" Then
    Tables("查询_采购关联").Filter = Filter
End If
[此贴子已经被作者于2017/7/13 17:43:40编辑过]

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


加好友 发短信
等级:幼狐 帖子:94 积分:862 威望:0 精华:0 注册:2017/7/9 3:59:00
  发帖心情 Post By:2017/7/13 17:54:00 [显示全部帖子]

问题已解决!

成功代码如下,以供参考:


Dim Filter As String = "1=1"
With e.Form.Controls("CheckedComboBox1")
    If .Value IsNot Nothing Then
        Filter &= " and 产品种类_产品大类 in ('" & .Text.Replace(",", "','") & "')"
    End If
End With
With e.Form.Controls("CheckedComboBox2")
    If .Value IsNot Nothing Then
        Filter &= " and 供应商 in ('" & .Text.Replace(",", "','") & "')"
    End If
End With
With e.Form.Controls("CheckedComboBox4")
    If .Value IsNot Nothing Then
        Filter &= " and 品名 in ('" & .Text.Replace(",", "','") & "')"
    End If
End With
If Filter > "" Then
    Tables("查询_采购关联").Filter = Filter
End If

 回到顶部