以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于外部数据源的过滤表达式问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=20633)

--  作者:curay
--  发布时间:2012/6/14 11:08:00
--  关于外部数据源的过滤表达式问题

我想加载近四年以内签订的合同,在access中通过编号过滤:

 

合同编号 Like CStr(Year(Now())) & "-*" Or 合同编号 Like CStr(Year(Now())-1) & "-*" Or 合同编号 Like CStr(Year(Now())-2) & "-*" Or 合同编号 Like CStr(Year(Now())-3) & "-*"

 

这段表达式在access中是没有问题的,但是我原样复制到外部数据表的 过滤/排序 字段里,就无法正常过滤出我要的数据,结果是空的.请问是为什么?

 

关于外部数据表的 过滤/排序 表达式针对不同数据库的写法问题,请问手册中在何处有说明?请给出链接,谢谢.

 


图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看

 

找到原因了,access中用*通配符的地方在foxtable表达式中要全部用%代替,例如:

 

合同编号 Like CStr(Year(Now())) & "-%" Or 合同编号 Like CStr(Year(Now())-1) & "-%" Or 合同编号 Like CStr(Year(Now())-2) & "-%" Or 合同编号 Like CStr(Year(Now())-3) & "-%"

 

但是,为什么要这样呢?? 感觉好麻烦啊。


 

[此贴子已经被作者于2012-6-14 11:17:13编辑过]

--  作者:lihe60
--  发布时间:2012/6/14 11:14:00
--  
没有变量的专用符号。
--  作者:lihe60
--  发布时间:2012/6/14 11:14:00
--  

上传附件。


--  作者:curay
--  发布时间:2012/6/14 11:14:00
--  

找到原因了,access中用*通配符的地方在foxtable表达式中要全部用%代替,例如:

 

 

合同编号 Like CStr(Year(Now())) & "-%" Or 合同编号 Like CStr(Year(Now())-1) & "-%" Or 合同编号 Like CStr(Year(Now())-2) & "-%" Or 合同编号 Like CStr(Year(Now())-3) & "-%"

 

但是,为什么要这样呢?? 感觉好麻烦啊。


--  作者:狐狸爸爸
--  发布时间:2012/6/14 11:17:00
--  
呵呵,这个不是foxtable决定的,微软决定的
--  作者:curay
--  发布时间:2012/6/14 11:21:00
--  
噢。。 跟vb.net特性有关的吗?
--  作者:狐狸爸爸
--  发布时间:2012/6/14 12:06:00
--  

是的