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