以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 外部数据表根据时间过滤应该如何设置? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1714)
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/2/2 18:34:00
-- 外部数据表根据时间过滤应该如何设置?
外部表根据时间过滤应该如何设置?
例如某外部数据只加载三个月内的数据: 下面这公式怎么设置都不行啊...where后面应该如何写?
Select All * From [表A] Where [时间] > #" & date.today.AddMonths(-3) & "#
|
-- 作者:狐狸爸爸
-- 发布时间:2009/2/2 18:45:00
--
当然是可以的:
"Select All * From [表A] Where [时间] > #" & date.today.AddMonths(-3) & "#"
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/2/2 19:03:00
--
以下是引用狐狸爸爸在2009-2-2 18:45:00的发言: 当然是可以的:
"Select All * From [表A] Where [时间] > #" & date.today.AddMonths(-3) & "#"
真的可以吗? 为何我的报错?是否因为多层表头的原因?
此主题相关图片如下:001.jpg
[此贴子已经被作者于2009-2-2 19:03:36编辑过]
|
-- 作者:狐狸爸爸
-- 发布时间:2009/2/2 19:17:00
--
哈哈,老兄还没清楚什么场合才能用代码啊。
1、你可以用DataTable的LoadFilter来设置条件,例如:
DataTables("某表").LoadFilter = "[时间] > #" & date.today.AddMonths(-3) & "#" DataTables("某表").Load()
2、你可以在BeforeLoadOuterTable事件中动态修改Select语句:
e.Selectstring = "Select All * From [表A] Where [时间] > #" & date.today.AddMonths(-3) & "#"
3 、你可以利用OuterTableBuilder或者QueryBuilder:
Dim q As new
OuterTableBuilder q.TableName = "订单" q.TableCaption = "1998年订单" q.ConnectionName = "Northwind" q.SelectString = "Select All * From [表A] Where [时间] > #" & date.today.AddMonths(-3) & "#" q.Build
4、但是不能在定义外部表的时候直接使用代码,SQL中不能直接包含代码的,只能通过代码合成SQL语句
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/2/2 19:42:00
--
原来这么麻烦........where 后面跟着的是逻辑列就没问题... Select All * From [表A] Where [结账] = false 这样不会出错,干嘛不在设置外部数据表里增加代码功能...
老爹,第二种方法会造成关联失效!!! . 此主题相关图片如下:001.jpg
[此贴子已经被作者于2009-2-2 20:02:15编辑过]
|
-- 作者:狐狸爸爸
-- 发布时间:2009/2/2 19:54:00
--
应该不会是这个原因,出错后,你看看是不是用于关联的列没有加载
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/2/2 20:04:00
--
e.Selectstring = "Select All * From [长嘱] Where [开始_开始时间] > #" & date.today.AddMonths(-3) & "#"
我的代码.关联列包括在*里啦... 而且关联失效的不只是长嘱表..其他全部失效...
不使用该代码,关联再次正常...
我的表关联只有三个. 住院登记_长嘱 住院登记_临嘱 查询表_设置 全部失效....
[此贴子已经被作者于2009-2-2 20:09:19编辑过]
|
-- 作者:狐狸爸爸
-- 发布时间:2009/2/2 20:10:00
--
我也不能理解,从原理来说不应该这样。 除非有实例让我测试一下。
|
-- 作者:菜鸟foxtable
-- 发布时间:2009/2/2 20:20:00
--
以下是引用狐狸爸爸在2009-2-2 20:10:00的发言:
我也不能理解,从原理来说不应该这样。 除非有实例让我测试一下。
晕,是我搞错了....没加条件...If e.DataTableName
[此贴子已经被作者于2009-2-2 20:25:21编辑过]
|
-- 作者:狐狸爸爸
-- 发布时间:2009/2/2 20:23:00
--
好地
|