以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]使用datatable重新加载数据时间过滤  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=174353)

--  作者:crazyfengyu
--  发布时间:2022/1/12 10:53:00
--  [求助]使用datatable重新加载数据时间过滤
    Dim StartDate As Date = Date.Today().AddDays(-90)
    
    Dim Filter As String
    Filter = "[开始日期] >= " & StartDate
    
    
    Tables("订单").DataTable.LoadFilter = Filter
    Tables("订单").DataTable.Load()


用上面的代码进行重新加载,加载完后会报错,没找到当前窗口,然后时间过滤也不对(sql server 数据库)。
[此贴子已经被作者于2022/1/12 10:57:27编辑过]

--  作者:有点蓝
--  发布时间:2022/1/12 11:00:00
--  
先看3遍:http://www.foxtable.com/webhelp/topics/1284.htm

表达式中的日期用符号#括起来,数值则不需要任何符号括起来,这些和代码中的格式是一样的,唯一不同的是字符串用单引号括起来。

例如:

Tables("订单").Filter = "[产品] = \'PD01\'"  \'字符用单引号括起来
Tables("订单").Filter = "[日期] = #3/17/1999#"  \'日期用#括起来
Tables("订单").Filter = "[折扣] = 0.1"  \'数值直接使用


如果是SqlServer,再看看:http://www.foxtable.com/webhelp/topics/2343.htm


Filter = "[开始日期] >= #" & StartDate & "#"


--  作者:crazyfengyu
--  发布时间:2022/1/12 11:04:00
--  
刚开始就是加的#  然后会报  “\'#\' 附近有语法错误。”,去掉#就不会报错,但是过滤 的不对
--  作者:有点蓝
--  发布时间:2022/1/12 11:04:00
--  
如果是SqlServer,再看看:http://www.foxtable.com/webhelp/topics/2343.htm