以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 导出表格时遇到的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=113231) |
-- 作者:dengk03 -- 发布时间:2018/1/11 15:08:00 -- 导出表格时遇到的问题 导出一个已经被筛选过的表格,使用ex.Filter = Tables().filter命令. 别的筛选条件时导出都是正常的,只有当筛选条件为日期时,导出就不正确了。 例如导出2017-1-1之后的数据,messagebox显示此时的tables.filter的内容为 日期 >= \'2017-01-01\' 但是实际导出的excel表为空的。 我用的sql数据库,出这个问题的原因是不是导出成excel的话filter应该写成##的形式?还是别的什么原因? 有没有什么办法可以解决这个问题。
|
-- 作者:有点甜 -- 发布时间:2018/1/11 15:35:00 -- 合成的日期的条件,要用##的,不能用\'\'的,如 日期 >= #2017-01-01# |
-- 作者:dengk03 -- 发布时间:2018/1/11 15:46:00 -- 那也就是说我不能用 ex.Filter = table().filter 这个命令了? 有什么代码恩能够解决我这个问题?
|
-- 作者:dengk03 -- 发布时间:2018/1/11 16:16:00 -- 我想了个土办法,判断若filter中包含日期,则自动将单引号替换为#。 |
-- 作者:有点甜 -- 发布时间:2018/1/11 16:19:00 -- 以下是引用dengk03在2018/1/11 15:46:00的发言:
那也就是说我不能用 ex.Filter = table().filter
你设置tables("").Filter的时候,如果是日期列,请改成##,不要用单引号。比如合成这样的条件
第一列 = \'123\' and 日期 >= #2017-01-01# and 第二列 = \'456\'
如果需要加载等等,你可以把#替换成\',如 tables("").filter.Replace("#", "\'") |