我有一个包含几十个模块的Access应用程序。我一直在每个新模块中重新声明变量,减去需要全局范围的变量。我到处都使用Option Explicit。
问题:将公共局部变量声明为全局变量是不好的做法,即使范围只是本地的?我想,只是为了方便起见:
我在每个模块中声明的变量示例:
Dim strMsg as String
Dim strSQL as String
Dim N, N1, N2 as Integer
Dim db As Database
Set db = CurrentDb
任何指导或建议?
答案 0 :(得分:5)
我认为您仍然希望将这些变量保留在本地。如果您在Module1
并设置strMsg
,那么您可以从Module2
调用Module1
中的某个功能,然后在strMsg
中修改Module2
。返回Module1
后,您会发现Module1
中没有状态发生变化,但现在您的strMsg
不同了。当然这些基本上是静态类,并且没有状态本身,但通常最好保持一切尽可能接近调用代码。如果你没有一个非常令人信服的理由要求这些变量是全局的,那么请将它们保持在本地。