Foxtable(狐表)用户栏目专家坐堂 → [求助]数据导入和录入冲突


  共有2691人关注过本帖树形打印复制链接

主题:[求助]数据导入和录入冲突

帅哥哟,离线,有人找我吗?
lzzhx
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:995 积分:6712 威望:0 精华:0 注册:2015/1/12 22:12:00
  发帖心情 Post By:2016/6/4 21:20:00 [显示全部帖子]

暂停执行事件代码

暂停所有事件

Foxtable有一个逻辑型的系统变量,将其设置为False,将停止执行所有事件代码,将其设置为True,将恢复执行所有事件代码,就像一个事件“开关”。

例如希望向一个表中追加大量数据,并要求在追加数据的过程中,不要执行任何事件代码,可以如下编写代码:

SystemReady = False
'追加数据代码

SystemReady =
True

如果在执行上述代码的过程中发生错误退出,那么SystemReady将始终为False,系统进入锁死状态,不会执行任何事件代码,单击菜单按钮也不会有反应。

所以比较安全的编码方式为:

SystemReady = False
Try
'追加数据代码
Catch ex
As Exception
    MessageBox.Show(
"追加数据失败")
End
Try
SystemReady =
True

暂停单个事件

如果要暂停单个事件的执行,那么SystemReady是无能为力的。
因为Foxtable并没有针对单个事件的“开关”,不过我们可以自行设计一个这样的“开关”,而且设计过程很简单,只需寥寥几行代码即可:

1、首先我们在全局代码中定义一个Public变量,假定变量名为pause:

Public pause As Boolean

2、然后在某事件的开始位置添加一段代码:

'判断是否执行事件:
If
pause = True Then
    Return
End If
'原来事件代码

3、现在我们就可以为此事件设计开关了:

关闭此事件的代码为:

pause = True

开启此事件的代码为:

pause = False


 回到顶部