Foxtable(狐表)用户栏目专家坐堂 → 内容有时为空的字段能否参与筛选?


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

主题:内容有时为空的字段能否参与筛选?

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


加好友 发短信
等级:婴狐 帖子:67 积分:537 威望:0 精华:0 注册:2013/10/13 6:59:00
内容有时为空的字段能否参与筛选?  发帖心情 Post By:2013/10/17 22:44:00 [只看该作者]

内容为空的字段如何参与筛选?
下图只有第1-3行能参与筛选,第4-10行不行。

此主题相关图片如下:图片1.jpg
按此在新窗口浏览图片

下面的代码是否需要调整呢?
Dim cp As WinForm.ComboBox = e.Form.Controls("产品")
Dim ks As WinForm.TextBox = e.Form.Controls("科室")
Dim xgyw As WinForm.TextBox = e.Form.Controls("相关药物")
Dim syz As WinForm.TextBox = e.Form.Controls("适应症")
Dim yjjl As WinForm.TextBox = e.Form.Controls("研究结论")

Tables("文献").Filter = "对应产品 Like '*" & cp.Text & "*' And 科室 Like '*" & ks.Text & "*' And 相关药物 Like '*" & xgyw.Text & "*' And 适应症 Like '*" & syz.Text & "*'And 研究结论 Like '*" & yjjl.Text & "*'"


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


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

 类似于:

Tables("文献").Filter = "len(对应产品) > 0 and 对应产品 like '**'"

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


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

 或者

Tables("文献").Filter = "对应产品 is not null and 对应产品 <> '' and 对应产品 like '**'"

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


加好友 发短信
等级:婴狐 帖子:67 积分:537 威望:0 精华:0 注册:2013/10/13 6:59:00
  发帖心情 Post By:2013/10/17 23:17:00 [只看该作者]

对应产品是必填的,所以用len(对应产品) > 0;其他几个字段有时候填,有时候不填,所有用len(字段名) >= 0:

Tables("文献").Filter = " len(对应产品) > 0 and 对应产品 Like '*" & cp.Text & "*' AND len(科室) >=0 and 科室 Like '*" & ks.Text & "*' AND len(相关药物)>=0 and 相关药物 Like '*" & xgyw.Text & "*' AND len(适应症) >=0 and 适应症 Like '*" & syz.Text & "*'AND len(研究结论) >=0 and 研究结论 Like '*" & yjjl.Text & "'"

但是问题还是没解决。。。。帮忙分析分析,谢谢!


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/18 9:11:00 [只看该作者]

Tables("文献").Filter = "对应产品 对应产品 like '*字符串*' and (相关药物 like '*字符串*' or 相关药物 is null)"

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


加好友 发短信
等级:七尾狐 帖子:1732 积分:11266 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/10/18 10:13:00 [只看该作者]

换个思路,你先判断你添加的过滤条件,即判断文本框字符是否为空,为空则不添加该条件。

就避免了你说的问题了


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


加好友 发短信
等级:婴狐 帖子:67 积分:537 威望:0 精华:0 注册:2013/10/13 6:59:00
  发帖心情 Post By:2013/10/18 11:05:00 [只看该作者]

换成如下代码就可以了:
Tables("文献").Filter = "对应产品 Like '*" & cp.Text & "*' and (科室 Like '*" & ks.Text & "*' or 科室 is null) and (相关药物 Like '*" & xgyw.Text & "*' or 相关药物 is null) and (适应症 Like '*" & syz.Text & "*'or 适应症 is null) and (研究结论 Like '*" & yjjl.Text & "' or 研究结论 is null)"
Foxtable真是好,初学时碰到问题总能很快的得到指导,谢谢各位!

 回到顶部