在報表不含任何記錄時取消列印報表

重要:  本文係由機器翻譯而成,請參閱免責聲明。本文的英文版本請見這裡,以供參考。

根據預設,您可以列印不含任何記錄的報表。若要解決這個問題,可以使用巨集或 Microsoft Visual Basic for Applications (VBA) 程式碼來偵測報表是否缺乏記錄,然後取消列印作業。本文中的步驟會說明如何使用這兩種技術。

您想要做什麼?

若要取消列印使用巨集

若要取消列印中使用 VBA 程式碼

當報表不含任何記錄時,您應該會想要取消列印報表。例如,如果您才剛開始要銷售新產品,可能會有一段時間尚未登錄任何銷售資料。因此,您應該考慮有些報表可能不含任何詳細資料記錄以及彙總函數的可能性,例如 Count 函數可能沒有東西可以計算。若要處理此種情形,您可以建立可取消列印工作的巨集。也可以將好幾行精心安排的 VBA 程式碼新增至相同的項目。VBA 是 Microsoft Office Access 2007 使用的程式設計語言。

您可以在報表上無 Da東西事件程序中新增巨集或 VBA 程式碼。Office Access 2007觸發上無資料事件時執行任何記錄的報表。巨集及 VBA 程式碼本文所述顯示適當的訊息,並取消列印報表時該報表不含任何資料。當您在 [無資料事件程序新增巨集或 VBA 程式碼時,執行巨集或 VBA 程式碼每當您開啟不包含任何記錄的報表。當您按一下[確定] 關閉 [提醒的郵件時,巨集也會關閉空白報表。當您嘗試在報表檢視] 或 [版面配置檢視中顯示時,當您新增的巨集或 VBA 程式碼的報表時,將無法開啟一個空白報表,但您可以在 [設計] 檢視中開啟報表。

使用巨集取消列印

當您嘗試列印空白報表時,本節所描述的巨集會顯示通知訊息。當您按一下 [確定] 關閉訊息方塊時,巨集會自動取消列印作業。如果您不放入通知訊息,則當您嘗試列印報表時,看起來會像是沒有發生任何狀況,這有可能會使報表的使用者混淆。 

建立巨集

  1. 在 [功能窗格] 中,以滑鼠右鍵按一下您要變更的報表,然後按一下 [設計檢視]

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

    -或-

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

  3. 按一下 [事件] 索引標籤,然後在 [上無資料] 屬性方塊中,按一下 [ [建立器] 按鈕

    [選擇建立幫手] 對話方塊隨即出現。

  4. 按一下 [巨集建立幫手],再按一下 [確定]

    巨集設計工具會啟動並且顯示空白巨集。

  5. 在巨集的第一個資料列中,按一下 [動作] 資料行中的欄位,並且從清單中選取 [MsgBox]

  6. 在巨集設計工具下半部的 [巨集指令引數] 底下,於 [巨集] 方塊中,輸入通知訊息的文字。

    例如,您可以在其中輸入下列︰沒有至報表的記錄。

  7. 選擇性將 [Beep] 方塊中的引數值從 [是] 變更為 [否],然後在 [類型] 清單中,選取要顯示於通知訊息中的圖示類型。

  8. [標題] 方塊中,輸入通知訊息的標題。

    例如,您可以輸入無記錄

    變更會顯示於巨集設計工具的上半部,也就是在 [MsgBox] 動作旁的 [引數] 資料行中。 

  9. 在巨集設計工具的上半部,按一下 [動作] 資料行中的下一個儲存格 (在 [MsgBox] 正下方的儲存格),然後選取 [CancelEvent]

    雖然您可以在引數中使用不同的文字,但是巨集的外觀應該如下:

    可取消列印作業的巨集範例

  10. 在 [設計] 索引標籤的 [關閉群組中,按一下 [另存新檔],然後使用 [另存新檔] 對話方塊來提供巨集名稱。

  11. 關閉巨集。如果出現通知訊息並詢問您是否要儲存巨集及報表屬性的變更,請按一下 [是],然後繼續進行後續步驟加以測試。

測試巨集

  • 在 [功能窗格] 中,以滑鼠右鍵按一下含有巨集的報表並且按一下 [列印]。根據您選擇的選項而定,應該會出現類似下列的通知訊息:

    報表中沒有任何記錄時出現的訊息方塊

    當您按一下 [確定] 關閉訊息時,[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 Office Access

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

  9. 在 [功能窗格] 中,以滑鼠右鍵按一下剛才變更的報表,然後按一下 [列印]。您將會看見如下的訊息:

報表中沒有任何記錄時出現的訊息方塊

Report_NoData 程序會使用 [MsgBox] 函數來顯示 [沒有記錄可以報告] 訊息以及 [確定] 按鈕。當您按一下 [確定] 時,程序中的 "Cancel=True" 行會指示 Access 取消報表。Cancel 是一個會自動傳遞至事件程序的引數,而且 Access 一律會在事件程序完成時加以核取。

頁面頂端

附註: 機器翻譯免責聲明︰本文係以電腦系統翻譯而成,未經人為介入。Microsoft 提供此等機器翻譯旨在協助非英語系使用者輕鬆閱讀 Microsoft 產品、服務及技術相關內容。基於本文乃由機器翻譯而成,因此文中可能出現詞辭、語法、文法上之錯誤。

擴展您的技能
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與其中一位 Office 支援專員連絡以深入了解您的意見。

×