Событие Report.NoData (Access)

Событие NoData возникает после того, как Microsoft Access форматирует отчет для печати без данных (отчет привязан к пустому набору записей), но перед печатью отчета. Используйте это событие для отмены печати пустого отчета.

Синтаксис

expression. NoData (отмена)

Выражение Переменная, представляющая объект Report .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Отмена Обязательный Integer Параметр определяет, следует ли печатать отчет. Если для аргумента Cancel задано значение True (1), отчет не печатается. Для отмены печати отчета можно также использовать метод CancelEvent объекта DoCmd .

Замечания

Чтобы выполнить макрос или процедуру события при возникновении этого события, задайте для свойства OnNoData имя макроса или [Процедура события].

Если отчет не привязан к таблице или запросу (с помощью свойства RecordSource отчета), событие NoData не возникает.

Это событие возникает после событий Format для отчета, но до первого события Print .

Это событие не возникает для вложенных отчетов. Если вы хотите скрыть элементы управления во вложенном отчете, когда вложенном отчете нет данных, чтобы в этом случае элементы управления не печатались, можно использовать свойство HasData в макросе или процедуре события, которая выполняется при возникновении события Format или Print .

Событие 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 и обратная связь.