主题:关于多个表单同时打开表的问题
有约故人来
[专家分:50] 发布于 2009-04-07 10:04:00
我建了一个顶层表单,在顶层表单建了一个下拉菜单。在下拉菜单的各项中,用了
do form 表单
命令,并在表单的load event中用了诸如:
use 表1.dbf
的命令。但当同时需打开多个表单时,往往会出错,特别是表单1、表单2同时打开表1时,会立即出错。没办法,我只能将表单设置成模式表单,即在打开一张表单时禁用其它表单。这样系统就存在很大的局限性。请教各位,不知是否有较好的方法解决此类问题?各位是如何处理的?
回复列表 (共7个回复)
沙发
martine [专家分:4950] 发布于 2009-04-07 15:26:00
把表单1和2的动作都放在一个表单中如表单1,然后就可以打开一次表了,就是说针对一个表的所有操作都在一个表单中执行.
板凳
fyyylyl [专家分:8550] 发布于 2009-04-08 08:32:00
为表单新建一属性如used_表1
load event中:
thisform.used_表1=used("表1")
if !used("表1")
use 表1.dbf in 0
endif
unload event中:
if !thisform.used_表1
use in 表1
endif
3 楼
有约故人来 [专家分:50] 发布于 2009-04-08 18:46:00
您这样的方式能防止出错,但还是不能同时两个表单使用同一个表。不知道用类似
use 表ABC 带参数again能不能解决问题?
4 楼
fyyylyl [专家分:8550] 发布于 2009-04-09 14:34:00
你试了吗?
5 楼
有约故人来 [专家分:50] 发布于 2009-04-10 09:23:00
谢谢!试了,可以。但以后不知会不会引起其他问题。
6 楼
fyyylyl [专家分:8550] 发布于 2009-04-11 07:16:00
1、以后遇到别人给你解答问题首先试过再评论是否正确。
2、看到解答要从理论上去理确,不能只简单地复制代码,看是否暂时满足你的要求。
7 楼
有约故人来 [专家分:50] 发布于 2009-04-16 11:24:00
用这种方法当多次同时打开同一个表单时还时会出错。将unload event中的
if !thisform.used_表1
use in 表1
endif
删去即可,即表单卸载时不关闭表!
我来回复