以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于生日提醒的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=111585)

--  作者:有点辣
--  发布时间:2017/12/25 15:55:00
--  关于生日提醒的问题
帮助里有未来N天生日提醒的代码,但测下来会报错,上千人的统计,效率也不高
网上搜了SQL有个datediff 函数可以用,但网上示例都是返回本月和下月过生日的,没有N天内过生日的
麻烦老师能写一下,比如10天内生日的查询
谢谢!

--  作者:有点甜
--  发布时间:2017/12/25 17:14:00
--  

 如果能添加辅助列,就利于查询了。比如你加入一个【月日】列,得到数据如 1225、0114、0228 这样的数据。那你直接筛选就可以了,如

 

Tables("表A").Filter = "月日 >= \'0618\' and 月日 <= \'0729\'"

 

 如果是跨年,就这样写,如

 

Tables("表A").Filter = "月日 >= \'1223\' or 月日 <= \'0118\'"

 

 那么如果不加辅助列,那可以用sql语句添加辅助列,如(Access数据源)

 

DataTables("表A").LoadFilter = "format(日期, \'MMdd\') >= \'0618\' and format(日期, \'MMdd\') >= \'0729\'"

DataTables("表A").Load