2014-02-11 122 views
1

我有一個Access應用程序與幾個模塊。我已經在每個新模塊中重新聲明變量,減去需要全局範圍的變量。我在任何地方都使用Option Explicit。MSAccess:全局與本地變量聲明

問:難道是不良的做法宣告我的共同局部變量作爲全局,即使範圍僅僅是本地?只是爲了方便起見,我想:

Dim strMsg as String 
Dim strSQL as String 
Dim N, N1, N2 as Integer 
Dim db As Database 

Set db = CurrentDb 

任何指導或建議:每個模塊的變量,我在每個申報

例子和?

回答

5

我認爲你仍然想保持這些變量本地。如果你是在Module1並設置strMsg那麼你從Module1調用一個函數在Module2,你在Module2修改strMsg。已經回到Module1你可以預期Module1沒有任何國家已經改變,但現在你的strMsg是不同的。當然這些基本上都是靜態類,並沒有每本身狀態,但它通常是最好把一切都儘可能靠近調用代碼越好。如果你沒有真正有說服力的理由需要這些變量是全球性的,那麼保持它們在本地。

+2

+1很好的推理,特別是對像「N」這樣的「scratch」變量。調用其他例程的意外副作用可能會使調試更加困難。 –

+0

並記住每個全局變量耗盡資源。 – 4dmonster