易表在线答疑技术与交流用户社区 → [请教一个关于窗口自定义按钮查询的问题]


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

主题:[请教一个关于窗口自定义按钮查询的问题]

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


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2007/9/7 11:07:00
[请教一个关于窗口自定义按钮查询的问题]  发帖心情 Post By:2007/9/26 13:35:00 [只看该作者]

[这个贴子最后由jerryleung在 2007/09/26 02:09pm 第 1 次编辑]

FilterFor("日期",">=",[%开始日期%],"日期","<=",[%结束日期%])
是否等同于
ShowAllRows() And if([%开始日期%]>"",FilterFor("日期",">=",[%开始日期%]),True) And if([%结束日期%]>"",FilterFor("日期","<=",[%结束日期%]),True)

为什么我在具体使用后者时加入其他条件综合筛选时反而日期功能失效了?


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


加好友 发短信
等级:蜘蛛侠 帖子:1191 积分:-50 威望:0 精华:0 注册:2007/5/25 12:56:00
  发帖心情 Post By:2007/9/26 13:53:00 [只看该作者]

建议你看看帮助文件中 FilterFor()的可选参数

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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/9/26 13:54:00 [只看该作者]

ShowAllRows() And if([%开始日期%]="" or ([%结束日期%]="",True,FilterFor("日期",">=",[%开始日期%],2) And FilterFor("日期","<=",[%结束日期%],0))

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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/9/26 13:57:00 [只看该作者]

还可以这样,减少一次判断速度会提高,请试试看:

       ShowAllRows() And if([%开始日期%]="" or ([%结束日期%]="",True,FilterFor("日期",">",[%开始日期%]-1,2) And FilterFor("日期","<",[%结束日期%]+1,0))


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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/9/26 14:01:00 [只看该作者]

您的帖子标题不规范,请到1楼点击左下角的“编辑”修改,否则会被锁定!

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


加好友 发短信
等级:新手上路 帖子:8 积分:0 威望:0 精华:0 注册:2007/9/7 11:07:00
  发帖心情 Post By:2007/9/26 14:08:00 [只看该作者]

我看的演示文件里是这么做的:
ShowAllRows() And if([%产品%]>"",FilterFor("产品","=",[%产品%]),True) And if([%客户%]>"",FilterFor("客户","=",[%客户%]),True) And if([%开始日期%]>"",FilterFor("日期",">=",[%开始日期%]),True) And if([%结束日期%]>"",FilterFor("日期","<=",[%结束日期%]),True)
为什么它这里可以复合客户、产品、日期的查询条件呢?

程老大,老给标准答案会依赖您老人家的。。。


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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/9/26 14:30:00 [只看该作者]

请楼主看看这个帖子,或许会有更大的帮助!


         http://bbs.egrid2000.com/cgi-bin/topic.cgi?forum=9&topic=6876


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


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/9/26 14:48:00 [只看该作者]

下面引用由jerryleung2007/09/26 02:08pm 发表的内容:
我看的演示文件里是这么做的:
ShowAllRows() And if(>"",FilterFor("产品","=",),True) And if(>"",FilterFor("客户","=",),True) And if( ...

   1、他这个公式可以这么一理解:先显示所有行,再筛选产品,然后再筛选出的结果中再筛选符合条件的客户,再继续在筛选出的结果中筛选符合时间段的记录!
   2、您的公式原则上也没有问题,可能是您的数据中没有同时具备符合多条件的记录,所以,筛选不到符合条件的记录而已!

        注:FilterFor()函数具备忽略隐藏行的特点,所以,只在最前面添加ShowAllRows()函数,或者改用do(112)内部命令即可!

-=-=-=- 以下内容由 程兴刚2007年09月26日 02:50pm 时添加 -=-=-=-
这里的if()函数就不再作解释!


 回到顶部