以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关于查询窗口的设计 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=47011) |
|
-- 作者:bobolan521 -- 发布时间:2014/3/3 12:28:00 -- [求助]关于查询窗口的设计 你好,我有2个问题要请教一下, 1、请问一下,我的这个项目中,为什么查询1按钮中如果 部门没有选会提示出错,而查询2按钮中部门没选,或者选了都不会出错呢?我两个查询按钮里的代码类似的
2、如果我的窗体中启用了多个复选组合框,我该如何写table 的Filter 代码,因为有部分复选组合框,不一定会使用,我现在的一个窗体里有4个复选组合框,该如何写FLITER,
|
|
-- 作者:狐狸爸爸 -- 发布时间:2014/3/3 12:32:00 -- 1、不要用iif,应该这样写: Dim bm As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1")
2、参考: http://www.foxtable.com/help/topics/1058.htm
|
|
-- 作者:lshshlxsh -- 发布时间:2014/3/3 12:37:00 -- 谢谢狐狸爸爸,你这样的写法,我了解的,但是因为我的窗体中用了很多个复选组合框,我该如何写条件呢,有可能我窗体中有四个复选结合框,我有可能用到了其中了一个,也有可能用两个,也有可能全部用,那我该如何写查询条件最简便呢? Tables("表A").Filter= "[部门名称] In ( \'" & bm.value.Replace(",","\',\'") & "\') and 民族 in ( \'" & mz.value.Replace(",","\',\'") & "\' and 省份 in ( \'" & sf.value.Replace(",","\',\'") & "\'))" 如果我省份不选择,执行这个代码会了错的 [此贴子已经被作者于2014-3-3 12:39:47编辑过]
|
|
-- 作者:y2287958 -- 发布时间:2014/3/3 12:39:00 -- 搜索一下吧 论坛很多例子
|
|
-- 作者:bobolan521 -- 发布时间:2014/3/3 12:41:00 -- |
|
-- 作者:狐狸爸爸 -- 发布时间:2014/3/3 12:43:00 -- 这里告诉你方法了,逐个判断,逐个合并:
http://www.foxtable.com/help/topics/1058.htm
|
|
-- 作者:狐狸爸爸 -- 发布时间:2014/3/3 12:46:00 -- 具体到你的例子,就是:
Dim bm1 As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1") Dim bm2 As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox2") If bm2.Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Tables("表A").Filter = Filter |
|
-- 作者:bobolan521 -- 发布时间:2014/3/3 12:51:00 -- 谢谢 |
|
-- 作者:blackzhu -- 发布时间:2014/3/3 12:59:00 -- 现成的要用呀 |
|
-- 作者:狐狸爸爸 -- 发布时间:2014/3/3 13:04:00 -- 前面漏了一点,应该:
Dim bm1 As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox1") Dim bm2 As WinForm.CheckedComboBox = e.Form.Controls("CheckedComboBox2") If bm2.Value IsNot Nothing Then If Filter > "" Then Filter = Filter & " And " End If Tables("表A").Filter = Filter |