Foxtable(狐表)用户栏目专家坐堂 → [求助]筛选逻辑列、控件显示信息问题


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

主题:[求助]筛选逻辑列、控件显示信息问题

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


加好友 发短信
等级:婴狐 帖子:44 积分:425 威望:0 精华:0 注册:2016/9/28 8:36:00
[求助]筛选逻辑列、控件显示信息问题  发帖心情 Post By:2018/4/26 10:09:00 [只看该作者]

问题一:创建了一个弹窗,要在窗口筛选出表A的部分数据,满足条件为(同时满足):1.日期小于今天-10天;2.逻辑列1为否或逻辑列2为否


问题二:想用label控件或textbox控件显示表A中日期为当天的行数

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


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

1、Tables("表A").Filter = "日期 < #" & Date.Today.AddDays(-10) & "# and (逻辑列1 = false or 逻辑列1 is null or 逻辑列2 = false or 逻辑列2 is null)"

 

2、e.form.controls("Label1").Text = Tables("表A").Compute("count(日期)", "日期 = #" & date.Today & "#")


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


加好友 发短信
等级:婴狐 帖子:44 积分:425 威望:0 精华:0 注册:2016/9/28 8:36:00
  发帖心情 Post By:2018/5/3 16:10:00 [只看该作者]

老师,假如是多个汽车的不定期保养系统,怎么样筛选出超过10天未保养的汽车

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


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

分组统计获取最后的日期,然后再筛选

 

select 车牌, max(日期) as 最后日期 from {表A} group by 车牌

 

http://www.foxtable.com/webhelp/scr/2321.htm

 

http://www.foxtable.com/webhelp/scr/2329.htm

 


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


加好友 发短信
等级:婴狐 帖子:44 积分:425 威望:0 精华:0 注册:2016/9/28 8:36:00
  发帖心情 Post By:2018/5/4 9:09:00 [只看该作者]

最后一个问题图片点击可在新窗口打开查看

现在记录表里有四个列,车牌号、日期、保养项目A(逻辑列)、保养项目B(逻辑列)。
要求是每辆车在10天的周期内都完成过项目A和项目B。
如何筛选出不符合条件(超过10天)的车牌号。


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


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

select * from {表A} as a inner join (select 车牌, max(日期) as 最后日期 from {表A} where 项目a=false or 项目b=false group by 车牌) as b on a.车牌 = b.车牌 and a.日期 = b.最后日期 where DateDiff('d', 日期, Date()) > 10

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


加好友 发短信
等级:婴狐 帖子:44 积分:425 威望:0 精华:0 注册:2016/9/28 8:36:00
  发帖心情 Post By:2018/5/4 10:42:00 [只看该作者]

列名 'false' 无效。
列名 'false' 无效。


解决了,把False改成0就可以了,虽然不知道为啥
[此贴子已经被作者于2018/5/4 10:50:55编辑过]

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


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

之前的sql语句,是对于access的,如果是sqlserver数据库,这样写

 

select * from {表A} as a inner join (select 车牌, max(日期) as 最后日期 from {表A} where 项目a=0 or 项目b=0 group by 车牌) as b on a.车牌 = b.车牌 and a.日期 = b.最后日期 where DateDiff(d, 日期, getDate()) > 10


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


加好友 发短信
等级:婴狐 帖子:44 积分:425 威望:0 精华:0 注册:2016/9/28 8:36:00
  发帖心情 Post By:2018/5/4 11:06:00 [只看该作者]

老师,还是没有筛选出来啊,这个表里2253车牌已经最近保养过不会被筛选出来,1123车牌应该被筛选出来。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


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


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

select * from {表A} as a inner join (select 车牌, max(日期) as 最后日期 from {表A} group by 车牌) as b on a.车牌 = b.车牌 and a.日期 = b.最后日期 where DateDiff('d', 日期, Date()) > 10 and (项目a=false or 项目b=false)

 回到顶部