Foxtable(狐表)用户栏目专家坐堂 → 外部数据表根据时间过滤应该如何设置?


  共有19199人关注过本帖树形打印复制链接

主题:外部数据表根据时间过滤应该如何设置?

帅哥哟,离线,有人找我吗?
菜鸟foxtable
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
外部数据表根据时间过滤应该如何设置?  发帖心情 Post By:2009/2/2 18:34:00 [只看该作者]

外部表根据时间过滤应该如何设置?

例如某外部数据只加载三个月内的数据:
下面这公式怎么设置都不行啊...where后面应该如何写?

Select All * From [表A] Where [时间] > #" & date.today.AddMonths(-3) & "#

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/2 18:45:00 [只看该作者]

当然是可以的:

"Select All * From [表A] Where [时间] > #" & date.today.AddMonths(-3) & "#"

 回到顶部
帅哥哟,离线,有人找我吗?
菜鸟foxtable
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/2/2 19:42:00 [只看该作者]

图片点击可在新窗口打开查看原来这么麻烦........where 后面跟着的是逻辑列就没问题...
Select All * From [表A] Where [结账] = false
这样不会出错,干嘛不在设置外部数据表里增加代码功能...


老爹,第二种方法会造成关联失效!!!
.
图片点击可在新窗口打开查看此主题相关图片如下:001.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2009-2-2 20:02:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/2 19:54:00 [只看该作者]

应该不会是这个原因,出错后,你看看是不是用于关联的列没有加载


 回到顶部
帅哥哟,离线,有人找我吗?
菜鸟foxtable
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/2/2 20:04:00 [只看该作者]

e.Selectstring = "Select All * From [长嘱] Where [开始_开始时间] > #" & date.today.AddMonths(-3) & "#"

我的代码.关联列包括在*里啦...
而且关联失效的不只是长嘱表..其他全部失效...

不使用该代码,关联再次正常...

我的表关联只有三个.
住院登记_长嘱
住院登记_临嘱
查询表_设置
全部失效....
[此贴子已经被作者于2009-2-2 20:09:19编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/2 20:10:00 [只看该作者]

我也不能理解,从原理来说不应该这样。
除非有实例让我测试一下。


 回到顶部
帅哥哟,离线,有人找我吗?
菜鸟foxtable
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/2/2 20:20:00 [只看该作者]

以下是引用狐狸爸爸在2009-2-2 20:10:00的发言:

我也不能理解,从原理来说不应该这样。
除非有实例让我测试一下。

晕,是我搞错了....没加条件...If e.DataTableName

[此贴子已经被作者于2009-2-2 20:25:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/2/2 20:23:00 [只看该作者]

好地

 回到顶部