易表在线答疑技术与交流用户社区 → [求助]关于筛选


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

主题:[求助]关于筛选

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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
[求助]关于筛选  发帖心情 Post By:2013/4/14 9:08:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:122.egd

文件中,“日报录入”查询窗口中,“工序溢出”按钮公式采用FilterFor("工序溢出", "=" , - 1)可以正确执行筛选,但采用FilterFor("工序累计", ">" ,"批次额定数量")则不行了,为什么?谢谢!


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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2013/4/14 9:29:00 [只看该作者]

do(112) And
FilterFor("工序累计", ">" ,"批次额定数量")

"工序累计", ">" ,"批次额定数量"--------什么意思??

筛选函数:
FilterFor()
在当前表中筛选符合条件的行。
Filterfor(CompareCol,CompareMode,CompareValue,...)
CompareCol   进行比较的列,可以用列名称表示,也可以用位置表示。
CompareMode  比较方式,包括=、>、<、>=、<=、<>、Like、Instr共8种比较方式。
CompareValue 比较值
Option       可选参数,如果在执行该函数之前已经进行过筛选,那么:
             0 必须同时满足本次和之前的筛选条件
             1 满足本次和之前的筛选条件中的任何一个即可
             2 只需满足本次筛选条件既可
             4、查询结束后出现提示窗口
例如:
FilterFor("结账","=",-1)
筛选出已经结帐的纪录。
FilterFor("姓名","=",[%姓名%])
这是查询窗口中一个自定义按钮的公式,根据用户输入的姓名进行筛选,必须事先定义并在录入窗口插入一个名为"%姓名%"的变量。
FilterFor("总分",">",600,"数学",">",95)
筛选出总分大于600,且数学大于95的记录
FilterFor("总分",">",600,"数学",">",95)
筛选出总分大于600,且数学大于95的记录
FilterFor("总分",">",600) and Filterfor("数学",">",95,1)
筛选出总分大于600或者数学大于95的记录


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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/4/14 9:43:00 [只看该作者]

我在原公式中有用do(112) ,效果一样。"工序累计", ">" ,"批次额定数量" ,[批次额定数量]指本批次号该零部件应有的数量,[工序累计]指该零部件实际完成的累计数。[工序累计]不能大于[批次额定数量],否则为“溢出”。 [工序溢出]刷新公式为:IF([工序累计] > [批次额定数量],-1,0)。FilterFor()函数是不是其中的比较值不能使用列名,而只能使用具体的值?如果是这样,局限性就大了。谢谢!


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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/4/14 9:46:00 [只看该作者]

如果比较值不能直接使用列名,那就都得使用一个过渡性的逻辑列,先进行判断,再引用逻辑列作为条件。


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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2013/4/14 9:48:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:aaa.egd


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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2013/4/14 10:13:00 [只看该作者]

你的文件为什么打开窗口就这么慢?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:ddd.egd


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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/4/14 10:23:00 [只看该作者]

开始我用FilterFor("工序累计", ">" ,[批次额定数量]),因为不行,才增设[工序溢出]逻辑列,并改用FilterFor("工序溢出", "=" , - 1),行了。因为考虑到文件运行速度,不想增设逻辑列(所有的筛选都对应地要增设逻辑列,如“问题行”、“编号错误”等)。谢谢了。

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


加好友 发短信
等级:蒙面侠 帖子:2494 积分:6748 威望:0 精华:0 注册:2011/3/30 12:48:00
  发帖心情 Post By:2013/4/14 10:27:00 [只看该作者]

但我在其他文件中使用FilterFor()时,如果比较值为变量[%***%]时,公式又能用。

 回到顶部