Поделиться через


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

Событие Open возникает перед предварительным просмотром или печатью отчета.

Синтаксис

expression. Открыть (отмена)

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

Параметры

Имя Обязательный или необязательный Тип данных Описание
Отмена Обязательный Integer Параметр определяет, происходит ли открытие формы или отчета. Установка аргумента Отменазначения True (1) отменяет открытие формы или отчета.

Возвращаемое значение

Отсутствует

Примечания

Например, процедура Открытия макроса или события может открыть пользовательское диалоговое окно, в котором пользователь вводит критерии для фильтрации набора записей, отображаемых в форме или диапазоне дат для отчета.

При открытии отчета на основе базового запроса Microsoft Access запускает макрос или процедуру события Open перед выполнением базового запроса к отчету. Это позволяет пользователю указать критерии для отчета перед его открытием. Например, в настраиваемом диалоговом окне отображается при возникновении события Open .

Если приложение может одновременно загружать несколько форм, используйте события Активация и Деактивация вместо события Открыть для отображения и скрытия настраиваемых панелей инструментов при перемещении фокуса в другую форму.

При возникновении события Close можно открыть другое окно или запросить у пользователя запись в журнале, указывающую, кто использовал форму или отчет.

Если вы пытаетесь решить, следует ли использовать событие Open или Load для макроса или события, одно существенное различие заключается в том, что событие Open можно отменить, а событие Load — нет. Например, если вы динамически создаете источник записей для формы в процедуре события Open формы, вы можете отменить открытие формы, если нет записей для отображения. Аналогичным образом событие Выгрузка можно отменить, но событие Close — нет.

Пример

В следующем примере показано, как использовать инструкцию язык SQL (SQL) для установки источника данных отчета при его открытии.

Private Sub Report_Open(Cancel As Integer)

    On Error GoTo Error_Handler

    Me.Caption = "My Application"

    DoCmd.OpenForm FormName:="frmReportSelector_MemberList", _
    Windowmode:=acDialog

    'Cancel the report if "cancel" was selected on the dialog form.

    If Forms!frmReportSelector_MemberList!txtContinue = "no" Then
        Cancel = True
        GoTo Exit_Procedure
    End If
    Me.RecordSource = ReplaceWhereClause(Me.RecordSource, _
      Forms!frmReportSelector_MemberList!txtWhereClause)

Exit_Procedure:
    Exit Sub

Error_Handler:
    MsgBox Err.Number & ": " & Err.Description
    Resume Exit_Procedure
    Resume

End Sub

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.