2017-08-30 92 views
0

在我的訪問程序中,如果他們想要保存,每次他們關閉程序時都會詢問用戶。這可以從任何形式完成。出現這個問題是因爲我想創建一個全局函數來減少重複代碼。這將如何完成?在類模塊中? (這是怎麼設置的?)在Access中可以關閉全局函數中的變量嗎?

如果它可以幫助我的代碼如下;

If Me.Dirty Then 
Dim LResponse As Integer 

LResponse = MsgBox("You have unsaved changes. Do you really want to close the database", vbYesNo, "Close form") 

If LResponse = vbYes Then 
    DoCmd.Close 
    Cancel = True 
End If 
Else 
DoCmd.CloseDatabase 
End If 
+0

我會問你問以前的問題的同樣的問題:(1)你的班級做什麼? (2)與用戶所在表單關聯的是什麼? (3)你的代碼的哪個部分試圖調用類「Close」函數? (我從一個評論中感受到,當用戶試圖關閉表單時,你試圖關閉這個類。)(4)Close函數實際是在一個類中,還是在一個標準的代碼模塊中? – YowE3K

回答

0

綁定窗體在默認情況下會在關閉時保存更改的數據,因此您不需要所有這些。

因此,所有你需要的是一個單一的代碼行:

DoCmd.Quit 

如果系統希望特性或行爲添加到窗體或控件,使用WITHEVENTS

可以找到一個例子here

相關問題