Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
'测试Fill方法,以下是帮助中的说明:
'如果需要从从其它表加载数据,则需要使用Fill方法。
'Fill方法能够根据指定的SQL语句,从指定的数据源中加载数据。
Dim StartDate As Date
StartDate=#2012-1-1 00:00:00#
'直接指定日期进行“Fill方法”
'“测试表”为内部表,{远程}为外部数据源的表名,表结构相同。
' 连接名称为“测试”,
DataTables("测试表").Fill("Select * From {远程} where [日期时间] > #" & StartDate & "#", "测试",False)
存在一个问题,上述代码执行后,在表中能看到新增的数据。但再次打开项目时,还是原有数据,没有新增的数据。
这个新增数据还需要用代码来保存吗?
下载信息 [文件大小: 下载次数: ] | |
![]() |
Fill使用是sql语法,如果数据源是SQl SERVER,日期常量用单引号而不是#号括起来,例如:
SELECT * FROM {订单} WHERE 日期 >= '1/1/1999' AND 日期 <= '1/31/1999'
如果是Oracle的数据源,必须用TO_DATE函数转换,例如加载1999年10月21日的订单:
SELECT * FROM {订单} WHERE 日期 = TO_DATE('10/21/1999','MM/DD/YYYY')
参考:
我这个外部数据源是“Access”文件。
请问老大,怎样才能把新增数据保存起来?
增加数据之后,保存即可,和内部表没有任何差别。
注意一点: 外部表默认只加载10行数据。
上述命令是用于内部表(原来已有数据)从access文件中增加数据。
使用fill方法后,这个内部表中已能看到新增的数据,但退出项目(并且按了保存按钮)后,再次打开就没有了
抱歉,我无法理解你的问题,我不明白你的增加按钮的代码为什么这么复杂。
外部表和内部表本没有差别的,一样的用AddNew增加行,然后保存即可。
不好意思,主要是在帮助中看到“filler”的用法,想使用。
昨晚后来才看明白,“filler”是加载数据至某表,而不是“添加”。
现在我把增加数据的代码修改了,可以实按条件把外部数据源的数据“添加”至“测试表”:
'增加新数据
'先把数据加载至表b
DataTables("表b").Fill("Select * From {远程} where [datetime] >= #" & StartDate & "# And [datetime] < #" & EndDate & "#" , "测试",False)
'再接受数据
Dim f As New Filler
f.SourceTable = DataTables("表b") '指定数据来源
f.SourceCols = "jqno,datetime" '指定数据来源列
f.DataTable = DataTables("测试表") '指定数据接收表
f.DataCols = "jqno,datetime" '指定数据接收列
f.Fill() '填充数据
MessageBox.Show("接收数据结束")
DataTables("测试表").Save