以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 关于时间变量的应用?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=728)

--  作者:eric803
--  发布时间:2008/9/28 10:34:00
--  [求助] 关于时间变量的应用?
 我设置了一个外部查询表, 并且想在加载外部表加入动态条件,请问如下语句存在什么问题?

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


--  作者:smileboy
--  发布时间:2008/9/28 10:37:00
--  
"[fdate]>#2008-07-01#"
--  作者:贺老六
--  发布时间:2008/9/28 10:42:00
--  
如果是sql server,还是‘,如果是access,就是#
--  作者:eric803
--  发布时间:2008/9/28 12:31:00
--  
以下是引用贺老六在2008-9-28 10:42:00的发言:
如果是sql server,还是‘,如果是access,就是#

 是sqlserver, 但打开时提示出错?

--  作者:gdtgl
--  发布时间:2008/9/28 14:10:00
--  


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

外部查询表建立时有表名和标题,楼主的“外部入库单”如果用的是标题,请改回表名


--  作者:gdtgl
--  发布时间:2008/9/28 14:19:00
--  



(遇到的问题)如果将将代码放在事件beforeloadoutertable,有看到按条件加载的数据,但到最后加载的是全部数据。 试了下放在afteropenproject可以按条件加载数据


--  作者:贺老六
--  发布时间:2008/9/28 14:24:00
--  

在我的SQL SERVER服务器上测试通过。

DataTables("Orders").LoadFilter = "[OrderDate] > \'2/1/1998\'"
DataTables("Orders").Load()


注意日期的格式!

正确的是:
月/日/年

注意load和LoadFilter不能在beforeloadoutertable中使用,只能用于项目已经打开后,动态加载数据的。
所以这样的代码不能用在beforeloadoutertable事件中。在beforeloadoutertable中,只能这样用:


If e.DataTableName = "Orders"
    e.SelectString = "Select * From Orders Where OrderDate > \'2/1/1998\'"
End If

请仔细看帮助中的说明!

[此贴子已经被作者于2008-9-28 14:54:31编辑过]

--  作者:贺老六
--  发布时间:2008/9/28 14:29:00
--  
以下是引用gdtgl在2008-9-28 14:19:00的发言:

(遇到的问题)如果将将代码放在事件beforeloadoutertable,有看到按条件加载的数据,但到最后加载的是全部数据。 试了下放在afteropenproject可以按条件加载数据


这个问题也不存在,请仔细检查自己的设置。

我在beforeloadoutertable设置如下代码:

If e.DataTableName = "Orders"
    e.SelectString = "Select * From Orders Where OrderDate > \'2/1/1998\'"
End If

测试通过的

[此贴子已经被作者于2008-9-28 14:29:02编辑过]

--  作者:gdtgl
--  发布时间:2008/9/28 14:41:00
--  
不是用select 语句,用:

DataTables("Orders").LoadFilter = "[OrderDate] > \'1/31/1998\'"
DataTables("Orders").Load()


在:beforeloadoutertable 
[此贴子已经被作者于2008-9-28 14:42:45编辑过]

--  作者:贺老六
--  发布时间:2008/9/28 14:50:00
--  
呵呵,load和LoadFilter本来就不能在beforeloadoutertable中使用。
只能用于项目已经打开后,动态加载数据的。