以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- DataSource动态绑定问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123298) |
-- 作者:z769036165 -- 发布时间:2018/8/11 15:03:00 -- DataSource动态绑定问题 窗口加载后执行 e.Form.Controls("Table1").Table.DataSource = Tables("明细_Table1").DataTable 其中Tables("明细_Table1")为主窗口的一个副本表,e.Form.Controls("Table1")为独立窗口的Table1表,如果Tables("明细_Table1")的主窗口第一次打开,然后打开独立窗口,上述代码能执行,结果在主窗口不关闭的情况下再次打开独立窗口结果报错,显示不存在名称为独立窗口_Table1的datatable ,请问这个是怎么回事?
|
-- 作者:有点蓝 -- 发布时间:2018/8/11 15:27:00 -- 没有必要这样用吧。 独立窗口的Table1表同样绑定同一个表,同样设置为副本,设置一样的筛选条件即可
|
-- 作者:z769036165 -- 发布时间:2018/8/11 15:30:00 -- 因为主窗口的Tables("明细_Table1")是从别的地方动态加载过来的,然后比较大,我需要每次打开是做查询选择,所以我的想法是在主窗口先加载,然后做个独立窗口加载这个表的内容,这样Tables("明细_Table1")就不用每次去加载,速度快很多。 |
-- 作者:有点蓝 -- 发布时间:2018/8/11 15:40:00 -- 如果数据量达到一定程度,独立窗口也不可能全部加载,这个不是办法。 可以通过几个方面优化一下查询速度 1、给数据库表加上合适的索引 2、查询条件尽量避免使用like,in,is null等等条件 3、查询的结果如果多,可以使用分页显示 4、尽量加上日期范围条件 5、如果查询的数据范围相对固定,比如以本月(/本季/本年)为主,可以把本月(/本季/本年)的数据一次性加载到一个主表/临时表中使用
[此贴子已经被作者于2018/8/11 15:39:51编辑过]
|
-- 作者:z769036165 -- 发布时间:2018/8/11 15:49:00 -- 目前主窗口的Tables("明细_Table1")加载的话大概是2秒左右,但是我先加载后,用独立窗口再加载主窗口已经加载数据的话,速度基本是秒开,加载过来的数据在1万条左右。我目前就是想实现这个,但是不知道怎么第一次能加载,第二次他就报错。 |
-- 作者:有点蓝 -- 发布时间:2018/8/11 16:01:00 -- 不能这样使用的。既然经常要用,为什么不直接作为主表加载?主表可以设置为初始不加载,需要的时候加载一次 |
-- 作者:z769036165 -- 发布时间:2018/8/13 8:41:00 -- 我倒是想主表加载,是MYSQL的数据库,可是狐表目前不支持直接链接啊 |
-- 作者:有点甜 -- 发布时间:2018/8/13 10:56:00 -- 变通处理一下,加上红字代码
forms("窗口2").show
forms("窗口1").show
|
-- 作者:z769036165 -- 发布时间:2018/8/13 14:31:00 -- 谢谢,照此方法,问题解决了! [此贴子已经被作者于2018/8/13 14:31:03编辑过]
|