以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 加载表问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=134039) |
-- 作者:jick0526 -- 发布时间:2019/4/25 20:39:00 -- 加载表问题 老师,有个事情不明白,请问下下面这行代码放在 AfterOpenProject 和放在 BeforeLoadOuterTable 的区别是什么?我的理解是如果放在AfterOpenProject里面,那么会加载所有的行,然后在打开项目时筛选出截止前2年的行,但是表实际上已经全部加载了。如果是放在BeforeLoadOuterTable 里面,那么是在加载之前就筛选好后再加载,那么加载的行数就是实实在在的2年内的行数,是这样子的吗?我想知道下哪个速度会更快点,因为我这边网速比较慢,表里面又有几万行,想知道怎样加载会更快一点(我是外部数据库),谢谢! DataTables("表A").LoadFilter = "日期 >= \'" & Date.Today.AddYears(-2) & "\'" DataTables("表A").Load
|
-- 作者:有点蓝 -- 发布时间:2019/4/25 21:17:00 -- 理解是对的。当然是加载的数据越少就越快 |
-- 作者:jick0526 -- 发布时间:2019/4/25 21:35:00 -- 老师,加问个问题,下面的代码我如果想放到BeforeLoadOuterTable里面可以吗?一样会执行吗? Tables("表A").Sort = "日期 DESC"
[此贴子已经被作者于2019/4/25 21:37:50编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/4/25 21:36:00 -- 不可以。应该放到表A的afterload事件里 |
-- 作者:jick0526 -- 发布时间:2019/4/25 22:38:00 -- 老师,我刚才把表放到BeforeLoadOuterTable属性里面,发现还是会加载全部的行,我是想在往服务器提取数据时就只加载2年内的数据,就是实实在在的只加载2年内的数据,要放在哪个属性里合适,还是要修改代码? |
-- 作者:有点蓝 -- 发布时间:2019/4/25 22:54:00 -- 请仔细看一遍BeforeLoadOuterTable的帮助,按照帮助的用法使用,并不是使用1楼的代码:http://www.foxtable.com/webhelp/scr/0670.htm |
-- 作者:jick0526 -- 发布时间:2019/4/26 17:32:00 -- 错误提示 老师,老师这段代码试了,提示错误,说无法完成延迟准备,\'#\'附件有语法错误,我是SQL 数据
此主题相关图片如下:88.jpg 此主题相关图片如下:999.jpg [此贴子已经被作者于2019/4/26 17:53:59编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/4/26 17:46:00 -- 应该是这个原因:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=69632 |
-- 作者:jick0526 -- 发布时间:2019/4/26 17:59:00 -- 老师我把下面的代码放到,BeforeLoadOuterTable提示错误,无法完成延迟准备,"#"附件有语法错误,能帮我看下吗? If e.DataTableName = "订单" AndAlso e.User.Name = "开发者" Then Dim StartDate As Date = Date.Today().AddDays(-10) e.SelectString = "Select * Fro m {订单} Where [日期] > #" & StartDate & "#" End If
|
-- 作者:jick0526 -- 发布时间:2019/4/26 18:17:00 -- 老师,找到原因了,已经改过来了,谢谢! |