使用 Microsoft 登入
登入或建立帳戶。
您好:
選取其他帳戶。
您有多個帳戶
選擇您要用來登入的帳戶。

根據預設,您可以列印不含記錄的報表。 若要解決此問題,您可以使用宏或 Microsoft Visual Basic for Applications (VBA) 程式代碼來偵測報告中沒有記錄,然後取消列印作業。 本文中的步驟將說明如何使用這兩種技巧。

您想要做什麼?

當報表不含任何記錄時,您可能會想要取消列印報表。 例如,如果您開始銷售新產品,您可能需要一段時間才能註冊任何銷售。 因此,您應該考慮某些報表可能不包含任何詳細記錄,而 Count 函數等匯總函數可能無須計算。 若要輕鬆處理這類專案,您可以建立宏來取消列印作業。 您也可以新增幾行精心放置的 VBA 程式代碼,以執行相同的動作。 VBA 是 Access 使用的程序設計語言。

您可以將宏或 VBA 程式代碼新增至報表的 On No Data 事件過程。 每當您執行的報表沒有記錄時,Access 會觸發 [ 無數據 ] 事件。 本文所述的宏和 VBA 程式代碼會顯示適當的訊息,並在報表不包含數據時取消列印報表。 當您將宏或 VBA 程式代碼新增至 [ 無數據 ] 事件過程時,每當您開啟不含記錄的報告時,宏或 VBA 程式代碼都會執行。 當您按兩下 [ 確定 ] 關閉任一提醒訊息時,宏也會關閉空白報表。 當您將宏或 VBA 程式代碼新增至報表時,當您嘗試在 [報表檢視] 或 [版面配置檢視] 中顯示時,空白報表將不會開啟,但您可以在 [設計檢視] 中開啟報表。

使用宏取消列印

本節所述的宏會在您嘗試列印空白報表時顯示警示訊息。 當您按下 [ 確定 ] 關閉消息框時,宏會自動取消列印作業。 如果您未包含警示訊息,當您嘗試列印報表時,該訊息看起來會像沒有任何反應一樣,這可能會讓報表的用戶產生混淆。

建立宏

  1. 在 [導航窗格] 中,以滑鼠右鍵按下您要變更的報告,然後按兩下 [ 設計檢視]

  2. 在 [設計] 索引標籤上,按一下 [顯示/隱藏] 群組中的 [屬性表]。

    -或-

    根據您的地區和語言設定,按兩下報表左上角或右上角的方塊。

  3. 按兩下 [ 事件] 索 引標籤,然後在 [ 無數據] 屬性 方塊中,按兩下 [ [建立器] 按鈕]。

    [ 選擇建立器] 對話框隨即出現。

  4. 按兩下 [宏建立器],然後按兩下 [ 確定]

    宏設計工具隨即啟動並顯示空白宏。

  5. 在宏設計視窗上的宏動作下拉式清單中,從清單中選取 [訊息箱 ]。

  6. 在 [ 訊息] 方 塊中,輸入警示訊息的文字。

    例如,您可以輸入下列內容: 沒有記錄可供報告。

  7. 或者,將 Beep 方塊 中的自變數值從 [ ] 變更為 [否 ],然後在 [ 類型 ] 列表中,選取要顯示在通知訊息中的圖示類型。

  8. 在 [ 標題] 方 塊中,輸入警示訊息的標題。

    例如,您可以輸入 [無記錄]

  9. 選取 [訊息箱 ] 宏指令下方的宏指令下拉式清單,然後選取 [CancelEvent]

  10. 在 [ 設計] 索引 標籤的 [ 關閉 ] 群組中,按兩下 [ 儲存]

  11. 在 [設計] 索引標籤上,按一下 [關閉] 群組中的 [關閉]。 如果出現警示訊息,詢問您是否要儲存宏和報表屬性的變更,請按兩下 [ ],關閉報表,在出現提示時儲存變更,然後繼續進行後續步驟以進行測試。

測試您的宏

  • 在 [導航窗格] 中,以滑鼠右鍵按兩下包含宏的報表,然後按兩下 [ 列印]。 視您選擇的選項而定,Access 會顯示警示訊息。

    當您按下 [ 確定 ] 關閉郵件時, CancelEvent 動作會停止列印作業。 由於您未指定任何其他事件 (例如開啟報表以檢視) ,因此報表會關閉。

頁面頂端

使用 VBA 程序代碼取消列印

此處所述的 VBA 程式代碼運作方式與上一節所述的宏類似,當您開啟空白報表時,它會顯示警示訊息,然後在您關閉警示訊息時取消列印作業。

新增 VBA 程序代碼

  1. 在 [導航窗格] 中,以滑鼠右鍵按下您要變更的報告,然後按兩下 [ 設計檢視]

    附註: 若要完成此程式,請使用不含記錄的報告。

  2. 在 [設計] 索引標籤上,按一下 [顯示/隱藏] 群組中的 [屬性表]。

    -或-

    根據您的地區和語言設定,按兩下報表左上角或右上角的方塊。

  3. 按兩下 [ 事件] 索 引標籤,然後在 [ 無數據] 屬性 方塊中,按兩下 [ [建立器] 按鈕]。

    [ 選擇建立器] 對話框隨即出現。

  4. 按兩下 [程序代碼建立器],然後按兩下 [ 確定]

    Visual Basic 編輯器隨即啟動並顯示空白事件過程。

  5. 在 Visual Basic 編輯器中輸入下列程式代碼,讓Report_NoData程式在完成時看起來完全像這樣:

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. 完成後,按兩下 [ 檔案],然後按兩下 [儲存 ]

  7. 按兩下 [檔案],然後按兩下 [ 關閉] 並返回 Microsoft Access

  8. 關閉開啟的報告,然後按兩下 [ ] 確認儲存。

  9. 在 [導航窗格] 中,以滑鼠右鍵按兩下剛才變更的報告,然後按兩下 [ 列印]。 視您選擇的選項而定,Access 會顯示警示訊息。

Report_NoData程式會使用 MsgBox 函數顯示 [沒有記錄可以報告 郵件] 和 [ 確定] 按鈕。 當您按兩下 [ 確定] 時,程式中的 [Cancel=True] 行會指示 Access 取消報告。 Cancel 是自動傳遞至事件過程的自變數,Access 一律會在事件過程完成時檢查它。

頁面頂端

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。

這項資訊有幫助嗎?

您對語言品質的滿意度如何?
以下何者是您會在意的事項?
按下 [提交] 後,您的意見反應將用來改善 Microsoft 產品與服務。 您的 IT 管理員將能夠收集這些資料。 隱私權聲明。

感謝您的意見反應!

×