Access (的 Form.Open 事件)
Open 事件發生於開啟表單,但不會顯示記錄之前第一頁。
語法
運算式。開 啟 (取消)
expression 代表 Form 物件的變數。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
Cancel | 必要 | Integer | 此設定值會決定表單或報表是否開啟。 將 Cancel 引數設定為 True (1) 會取消表單或報表的開啟。 |
註解
在表單的 Open 事件發生時執行巨集或事件程序,您可以關閉另一個視窗或將焦點移至表單上的特定控制項。 您也可以執行巨集或要求資訊的事件程序所需之前在表單或開啟或列印報表。
例如, 開啟 [ 巨集或事件程序可以開啟自訂對話方塊中的使用者輸入來篩選要顯示在表單或報表包含的日期範圍的資料錄集的準則。
當您啟用已開啟的表單時,不會發生 Open 事件;例如,當您從 Microsoft Access 中的另一個視窗切換到表單,或在宏中使用 OpenForm 巨集指令將開啟的表單移至頂端時。 不過, Activate 事件會在這些情況下發生。
當您開啟以基本查詢為基礎的表單時,Microsoft Access 會在執行 Open 巨集或事件程序之前,先執行表單的基本查詢。
如果您的應用程式可以一次載入多個表單,請使用 Activate 和 Deactivate 事件,而不是 Open 事件,在焦點移至不同的表單時顯示和隱藏自訂工具列。
Open事件會在Load事件之前發生,當開啟表單並顯示其記錄時,就會觸發此事件。
當您第一次開啟表單時,下列事件的發生順序如下:
開啟 → 負載 → 調整 → 啟動 → 目前
Close事件會在Unload事件之後發生,該事件會在表單關閉之後,但在從畫面中移除之前觸發。
當您關閉表單時,下列事件的發生順序如下:
Unload → 停用 → 關閉
您可以在 Close 事件發生時開啟另一個視窗,或是要求使用者輸入名稱以便將使用表單或報表的使用者記錄下來。
如果您嘗試決定是否要針對宏或事件程序使用 Open 或 Load 事件,其中一個顯著的差異是 Open 事件可以取消,但 Load 事件無法取消。 例如,如果您要在表單的 Open 事件事件程序中動態建立表單的記錄來源,則如果沒有要顯示的記錄,您可以取消開啟表單。 同樣地, Unload 事件可以取消,但 Close 事件則無法。
範例
下列範例示範當使用者選擇 [ 否 ] 按鈕時,如何取消開啟表單。 訊息方塊會提示使用者輸入訂單明細。 如果使用者選擇 [ 否],就不會開啟 [訂單詳細 資料] 表單。
若要嘗試此範例,請將下列事件程序新增至表單中。
Private Sub Form_Open(Cancel As Integer)
Dim intReturn As Integer
intReturn = MsgBox("Enter order details now?", vbYesNo)
Select Case intReturn
Case vbYes
' Open Order Details form.
DoCmd.OpenForm "Order Details"
Case vbNo
MsgBox "Remember to enter order details by 5 P.M."
Cancel = True ' Cancel Open event.
End Select
End Sub
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應