Open 事件發生於開啟表單,但不會顯示記錄之前第一頁。
語法
表達。開啟 (取消)
expression 代表 Form 物件的變數。
參數
| 名稱 | 必要/選用 | 資料類型 | 描述 |
|---|---|---|---|
| Cancel | 必要 | Integer | 此設定值會決定表單或報表是否開啟。 將 Cancel 引數設定為 True (1) 會取消表單或報表的開啟。 |
註解
在表單的 Open 事件發生時執行巨集或事件程序,您可以關閉另一個視窗或將焦點移至表單上的特定控制項。 您也可以執行巨集或要求資訊的事件程序所需之前在表單或開啟或列印報表。
例如, 開啟 [ 巨集或事件程序可以開啟自訂對話方塊中的使用者輸入來篩選要顯示在表單或報表包含的日期範圍的資料錄集的準則。
當您啟動已開啟的表單時,不會發生 Open 事件;例如,當您從 Microsoft Access 中的另一個視窗切換至表單時,或使用巨集中的 OpenForm 動作將開啟的表單置於頂端。 不過,在這些情況下,會發生 「啟用」 事件。
當您開啟以基本查詢為基礎的表單時,Microsoft Access 會在執行 Open 巨集或事件程序之前,先執行表單的基本查詢。
如果您的應用程式一次可以載入多個表單,請使用 「啟用 」和「 停用 」事件,而不是 「開啟」 事件,在焦點移至不同表單時顯示和隱藏自訂工具列。
Open 事件發生在 Load 事件之前,該事件會在開啟表單並顯示其記錄時觸發。
當您第一次開啟表單時,下列事件的發生順序如下:
開啟 → 負載 → 調整 → 啟動 → 目前
Close 事件發生在 Unload 事件之後,該事件會在表單關閉之後觸發,但在表單從畫面中移除之前觸發。
當您關閉表單時,下列事件的發生順序如下:
Unload → 停用 → 關閉
您可以在 Close 事件發生時開啟另一個視窗,或是要求使用者輸入名稱以便將使用表單或報表的使用者記錄下來。
如果您嘗試決定是否要將 Open 或 Load 事件用於巨集或事件程序,則一個顯著差異是可以取消 Open 事件,但 Load 事件不能。 例如,如果您在表單的「 開啟」 事件的事件程序中動態建置表單的記錄來源,則如果沒有要顯示的記錄,則可以取消開啟表單。 同樣地, 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 支援與意見反應。