以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]能否整个项目停止绘制  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=189230)

--  作者:沪上游客
--  发布时间:2023/11/17 18:19:00
--  [求助]能否整个项目停止绘制
老师你好!
下面代码是我放按钮Click的代码,执行时按下面顺序打开指表,屏幕会闪烁,有没有锁定项目停止绘制的命令。红色代码无效。谢谢老师指教!

LockBaseMainForm() \'锁定主窗口
Application.DoEvents
MainTable = Tables("核算项目科目组合表") \'切换到应付账款表核算项目科目组合表
Application.DoEvents
MainTable = Tables("应收款对账") \'切换到应收款对账
Application.DoEvents
MainTable = Tables("应交税费") \'切换到应付账款表应交税费
Application.DoEvents
MainTable = Tables("工程施工") \'切换到工程施工
Application.DoEvents
MainTable = Tables("损益数据表") \'切换到损益数据表
Application.DoEvents
Dim btn As WinForm.Button = Forms("导航窗口").Controls("应付账款加载")
btn.PerformClick()
MainTable = Tables("应付账款") \'切换到应付账款表
Application.DoEvents
MainTable = Tables("工程合同基础数据") \'切换到工程合同基础数据
Application.DoEvents
UnLockBaseMainForm() \'解锁主窗口

--  作者:有点蓝
--  发布时间:2023/11/18 8:48:00
--  
这样切换表的目的是什么?如果不是为了执行maintablechanged、currenttablechanged事件,那么除了最后一个切换语句【MainTable = Tables("工程合同基础数据")】,其它都是多余的没有任何用处。

如果是为了执行maintablechanged、currenttablechanged事件,建议直接把这些事件代码放到按钮执行