乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 101|回复: 7

形式到模块还是模块到形式?

[复制链接]

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2008-12-19 11:01:16 | 显示全部楼层 |阅读模式
从窗体中调用模块和从模块中调用窗体哪个更好?我总是不得不创建一个sub,它只不过是调用一个表单,收集我的数据,然后将其发送到另一个模块进行处理。昨天我开始思考,(可怕吧)为什么我需要2个subs,为什么没有1个调用表单,然后处理表单上的数据。
长话短说,我如何捕获表单上的取消按钮以退出调用sub?按钮已经卸载了我,但这只是转储表单内容,而不是退出调用sub。我想检查表单上数据框的值,但是如果用户填写了所有的框,然后单击cancel会怎么样呢?盒子里会有数据,所以它会继续尝试。我想我可以使用cancel按钮来清除一个数据框,然后检查它是否为零,并以这种方式转储。有什么建议吗?

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

86

主题

744

帖子

6

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1092
发表于 2008-12-19 11:07:25 | 显示全部楼层
在卸载我之后添加END怎么样?或者只是结束?或者退出潜艇?
回复

使用道具 举报

7

主题

42

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2008-12-19 11:12:06 | 显示全部楼层
结束后,卸载我做到了。我知道这一定很简单。谢谢马特
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2008-12-19 11:13:04 | 显示全部楼层
不客气。: kewl:
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2008-12-19 13:55:41 | 显示全部楼层
但是我们仍然没有回答最初的问题,是调用一个表单并传递给一个模块,还是让模块调用表单并接收结果
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2008-12-29 12:39:13 | 显示全部楼层
我通常让模块驱动表单,其中一个原因是类似于您遇到的情况。(基本上,您希望从表单调用返回值或状态)
我使用一个全局变量,存储在代码模块中。无论该 Global 存储对窗体执行的计算结果,还是仅将 gIntCancel 的值设置为 1,您都可以在卸载 Global 变量之前从窗体代码中设置该变量的值。
然后,代码执行在调用代码模块中恢复,有条件地取决于 Global 变量现在设置为什么。
一点伪代码:
'----------------------------------
' 在代码模块中
全局 retCode as Integer
Sub Test ()
retCode =0
frmCalculate.Show
if retCode=1 then
frmContinueCalc.Show
else
exit sub
end if
End Sub
回复

使用道具 举报

154

主题

1274

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1936
发表于 2008-12-29 14:25:26 | 显示全部楼层
我发现最好从模块调用表单。在VB中,您可以从Sub Main()调用您的主表单,因此我将从这里开始。
现在我们已经解决了这个问题...
在您的表单中,您还应该使用Query关闭以防止在用户使用控制框关闭表单时出现数据处理错误。
  1. Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  2. If CloseMode = 0 Then Cancel = 1
  3. Hide Me
  4. End Sub

窗口将被隐藏,但表单和数据可以从模块中访问。
当然,您可以始终从表单中设置数据,因此您不再需要在隐藏表单后查询表单。
请记住在收集完所有数据后卸载表单。虽然VBA在这方面很宽容,但VB却不那么宽容。您很容易最终在后台运行多个应用程序,只要您不卸载它们。
回复

使用道具 举报

7

主题

42

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2008-12-30 10:22:09 | 显示全部楼层
谢啦
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-7-4 19:14 , Processed in 0.597975 second(s), 68 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表