Отмена печати отчета, не содержащего записей

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

По умолчанию можно печатать отчеты, не содержащие записей. Чтобы решить эту проблему, можно воспользоваться макросом или программой Microsoft Visual Basic для приложений (VBA) для обнаружения отсутствия записей в отчете с последующей отменой операции печати. В этом разделе даны инструкции по использованию обоих способов.

Предполагаемое действие:

Отмена печати с помощью макроса

Чтобы отменить печать с помощью кода VBA

Надо полагать, печать отчета следует отменить, если он не содержит записей. Например, в начале продаж нового продукта, вероятно, существует период времени, когда нужно регистрировать все продажи. Поэтому следует рассмотреть возможность того, что некоторые отчеты могут не содержать записей, а статистическим функциям, таким как функция Count, нечего считать. Чтобы изящно обработать такой случай, можно создать макрос, отменяющий задание печати. Можно также добавить несколько тщательно размещенных строк программного кода VBA для выполнения этой задачи. VBA — это язык программирования, которым пользуется Microsoft Office Access 2007.

Отчет О Da нетta процедуру события добавить макрос и код VBA. Office Access 2007 запускающее событие Нет данных при каждом запуске отчета, который не имеет записей. Макрос и код VBA, описанных в этой статье отображения соответствующее сообщение и Отмена печати отчета, если отчет не содержит данных. При добавлении макрос и код VBA процедуру события Нет данных макрос и код VBA запускается при каждом открытии отчета, которые не содержит записей. При нажатии кнопки ОК, чтобы закрыть либо предупреждающее сообщение, макрос также закрывает пустой отчет. При добавлении к отчету макрос и код VBA пустой отчет не откроется, при попытке открыть ее в отчет или режим макета, но можно открыть отчет в режиме конструктора.

Использование макроса для отмены печати

Макрос, описанный в этом разделе, отображает предупреждающее сообщение при попытке печати пустого отчета. При нажатии кнопки ОК для закрытия окна сообщения макрос автоматически отменяет операцию печати. Если не включать предупреждающее сообщение, то будет казаться, что при попытке напечатать отчет ничего не происходит — это может смутить пользователей отчета.

Создание макроса

  1. В области переходов щелкните правой кнопкой мыши нужный отчет и щелкните Режим конструктора.

  2. На вкладке Конструктор в группе Показать или скрыть выберите пункт Страница свойств.

    -Или-

    Дважды щелкните прямоугольник в верхнем левом или правом углу окна отчета, в зависимости от параметров языка и стандартов.

  3. Откройте вкладку событие и в поле свойства Нет данных нажмите кнопку Кнопка "Построитель" .

    Откроется диалоговое окно Построитель.

  4. Щелкните Построитель макросов и нажмите кнопку ОК.

    Запустится конструктор макросов и отобразит пустой макрос.

  5. В первой строке макроса щелкните поле в столбце Макрокоманда и выберите в списке Сообщение.

  6. В группе Аргументы макрокоманды в нижней части окна конструктора макросов в поле Сообщение введите текст предупреждающего сообщения.

    Например, можно ввести следующее: Нет записей для отчета.

  7. При желании можно изменить значение аргумента в поле Сигнал с Да на Нет, а в списке Тип выбрать тип значка, который будет появляться в этом предупреждающем сообщении.

  8. В поле Заголовок введите заголовок этого предупреждающего сообщения.

    Например можно ввести Нет записей.

    Эти изменения отобразятся в верхней части окна конструктора макросов — в столбце Аргумент, рядом с макрокомандой Сообщение.

  9. В верхней части окна конструктора макросов щелкните следующую ячейку в столбце Макрокоманда (ячейку непосредственно под Сообщение) и выберите ОтменитьСобытие

    Макрос должен выглядеть так (хотя текст в аргументах может отличаться):

    Пример макроса, отменяющего операцию печати

  10. На вкладке " Конструктор " в группе Закрытие выберите команду Сохранить как и затем с помощью диалогового окна Сохранить как введите имя макроса.

  11. Закройте макрос. При появлении предупреждающего сообщения с запросом сохранения изменений в макросе и свойстве отчета нажмите кнопку Да и перейдите к следующим шагам для проверки макроса.

Проверка макроса

  • В области переходов щелкните правой кнопкой мыши отчет, содержащий этот макрос, и выберите команду Печать. В зависимости от выбранных параметров, должно появиться сообщение, подобное следующему:

    Сообщение, которое выводится, если отчет не содержит записей

    При нажатии кнопки ОК для закрытия сообщения макрокоманда ОтменитьСобытие остановит операцию печати. Поскольку другие события (например, открытие отчета для просмотра) не заданы, отчет закрывается.

К началу страницы

Использование кода 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.

×