Report.NoData イベント (Access)
NoData イベントは、データが含まれていないレポート (空のレコードセットにバインドされたレポート) が印刷用に書式設定された後、そのレポートが印刷される前に発生します。 このイベントを使用して、空白のレポートの印刷を取り消します。
構文
式。NoData (Cancel)
式Report オブジェクトを表す変数。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
Cancel | 必須 | 整数型 (Integer) | この設定は、レポートを印刷するかどうかを決定します。 引数 Cancel を True (1) に設定すると、レポートが印刷されなくなります。 DoCmd オブジェクトの CancelEvent メソッドを使用して、レポートの印刷を取り消すこともできます。 |
解説
このイベントが発生したときにマクロまたはイベント プロシージャを実行するには、OnNoData プロパティを、マクロ名または [Event Procedure] に設定しておきます。
レポートが、そのレポートの RecordSource プロパティを使って、テーブルまたはクエリに連結されていないと、NoData イベントは発生しません。
このイベントは、レポートの Format イベントが発生してから、最初の Print イベントが発生するまでの間に発生します。
このイベントは、サブレポートでは発生しません。 サブレポートにデータがない場合に、サブレポートのコントロールを非表示にする (この場合はコントロールが印刷されないようにする) には、Format または Print イベントが発生したときに実行されるマクロまたはイベント プロシージャで、HasData プロパティを使うことができます。
NoData イベントは、レポートの最初の Page イベントの前に発生します。
例
次の使用例では、データがないレポートの印刷を取り消します。 また、印刷が取り消されたことをユーザーに通知するメッセージ ボックスも表示されます。
この使用例を実行するには、レポートに次のイベント プロシージャを追加します。 データが含まれないレポートに対して実行してください。
Private Sub Report_NoData(Cancel As Integer)
MsgBox "The report has no data." & _
chr(13) & "Printing is canceled. " & _
chr(13) & "Check the data source for the " & _
chr(13) & "report. Make sure you entered " & _
chr(13) & "the correct criteria (for " & _
chr(13) & "example, a valid range of " & _
chr(13) & "dates),." vbOKOnly + vbInformation
Cancel = True
End Sub
次の例は、レポートの NoData イベントを使用して、表示するデータがないときにレポートが開かないようにする方法を示しています。
Private Sub Report_NoData(Cancel As Integer)
'Add code here that will be executed if no data
'was returned by the Report's RecordSource
MsgBox "No customers ordered this product this month. " & _
"The report will now close."
Cancel = True
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。