| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3971 人关注过本帖
标题:在表单中有一个命令按钮,点击这个按钮后关闭表单,运行一个程序,表单为什么关 ...
只看楼主 加入收藏
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:10 
在表单中有一个命令按钮,点击这个按钮后关闭表单,运行一个程序,表单为什么关闭不了?
比如说在表单中有一个命令按钮COMMAND1,点击命令按钮后执行
THISFORM.RELEASE
USE TABLE1.DBF
BROW
为什么在浏览表的时候,表单没有关闭掉?
搜索更多相关主题的帖子: 表单 命令 按钮 点击 关闭 
2017-12-15 22:40
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43186
注 册:2014-5-20
收藏
得分:20 
事件过程未结束,执行完BROW后才关闭。
可在关闭表单后执行BROW
DO FORM 表单
USE TABLE1.DBF
BROW
2017-12-16 04:46
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
收藏
得分:0 
回复 2楼 吹水佬
如果命令按钮command1中只有:
thisform.release
表单就能关闭,如果加2行,变成:
thisform.release
use table.dbf
brow
那么表单就不能关闭,只能在关闭表以后才能关闭
也就是说,代码不是严格地按顺序执行的,还要看后面的代码内容是什么
如果是按顺序执行的,那么就应该是执行完thisform.release(关闭表单)以后再执行brow,现在看thisform.release这一句要在执行完后面的代码以后才会完全地执行thisform.release
是这样吧?
2017-12-16 09:57
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
收藏
得分:0 
回复 3楼 w7802672
brow 这个命令有停留和不停留的参数吗?
也就是说如果执行BROW命令后,如果不去人为地关闭表格能否继续执行BROW后面的代码?
2017-12-16 10:03
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
收藏
得分:0 
回复 2楼 吹水佬
我这个问题问的太低级了,用BROW NOWAIT就可以直接执行后面的指令了。
2017-12-16 10:09
w7802672
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2015-5-20
收藏
得分:0 
如果从表单1中调用表单2,然后关闭表单1,表单2中又调用表单1,然后关闭表单2,如果这样循环调用,无法关闭前一个表单,系统中会出现若干个表单1和表单2在运行,有没有什么办法能彻底关掉前一个表单呢?
2017-12-16 16:40
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43186
注 册:2014-5-20
收藏
得分:0 
以下是引用w7802672在2017-12-16 16:40:11的发言:

如果从表单1中调用表单2,然后关闭表单1,表单2中又调用表单1,然后关闭表单2,如果这样循环调用,无法关闭前一个表单,系统中会出现若干个表单1和表单2在运行,有没有什么办法能彻底关掉前一个表单呢?

打开一个表单同时关闭另一个表单,那也是始终只有一个表单,怎会出现若干个表单1和表单2在运行?
2017-12-16 20:45
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10608
专家分:43186
注 册:2014-5-20
收藏
得分:0 
在表单的init中检测另一个表单是否存在,是则关闭另一个表单。
2017-12-16 20:47
whinda
Rank: 6Rank: 6
等 级:贵宾
威 望:13
帖 子:253
专家分:418
注 册:2012-2-4
收藏
得分:0 
请在unload事件中(queryunload也可以)打开你的新表单,release只是一个方法程序,不是事件,你执行该方法,在该方法中加入Browse,browse没完成那release就没完,如何关前面的表单?!!!
2018-01-14 15:10
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:694
专家分:20
注 册:2014-1-16
收藏
得分:0 
又遇到麻烦了,第一次导入表没有问题,但是导入一次后,再重复操作一次就出问题了,删除表之前,我已经关闭表了,但执行ERASE命令是,出现对话框“文件正在试用“,我的代码如下:
IF USED('yg.dbf')   
   USE IN yg
   =MESSAGEBOX('表已经被打开')  &&此句话测试表是否被打开
endif
    SET DEFAULT TO d:\
    gcTableName = GETFILE('DBF', 'Open Table:')
    IF LEN(gcTableName)>0
           USE (gcTableName) ALIAS yy_1  
        SET SAFETY off
        LCFILE=SYS(1271,THISFORM)
        IF FILE(JUSTPATH(LCFILE)+"\data\yg.dbf")
           ERASE  JUSTPATH(LCFILE)+"\data\yg.dbf"
        endif
        SELECT * FROM yy_1 INTO TABLE  JUSTPATH(LCFILE)+"\data\yg.dbf"
        SELECT yy_1
        USE
        thisform.refresh
        =MESSAGEBOX("数据导入成功,请重新查询")
    endif   
   
2020-06-18 21:20
快速回复:在表单中有一个命令按钮,点击这个按钮后关闭表单,运行一个程序,表单为 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029243 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved