За замовчуванням можна друкувати звіти, які не містять записів. Щоб вирішити цю проблему, можна використати код макросу або програми Microsoft Visual Basic для застосунків (VBA), щоб визначити відсутність записів у звіті, а потім скасувати операцію друку. У цій статті пояснюється, як використовувати обидві методики.

У цій статті

Можливо, потрібно скасувати роздрукування звіту, якщо він не містить записів. Наприклад, якщо ви починаєте продавати новий продукт, імовірно, буде проміжок часу, коли ви ще не реєстрували будь-які продажі. Таким чином, ви повинні враховувати, що деякі звіти не можуть містити докладні відомості, і що агрегатні функції, як-от функція Count , не можуть розраховувати. Щоб впоратися з таким явищем витончено, можна створити макрос, який скасовує завдання друку. Крім того, ви можете додати кілька рядків із ретельного розміщення коду VBA. VBA – це мова програмування, яку Access використовує.

Ви додаєте макрос або код VBA допроцедури події " звіт про відсутність". Access запускає подію " без даних " щоразу, коли ви запускаєте звіт, який не містить записів. Макрос і код VBA, описані в цій статті, відображають відповідне повідомлення та скасовують текст звіту, якщо цей звіт не містить даних. Якщо додати макрос або код VBA до процедури події " без даних ", Макрос або код VBA запускається щоразу, коли ви відкриваєте звіт, який не містить записів. Якщо натиснути кнопку OK , щоб закрити повідомлення оповіщення, макрос також закриває пустий звіт. Під час додавання макросу або коду VBA до звіту пустий звіт не відкриватиметься під час спроби відобразити його в поданні звіту або режимі розмітки, але ви можете відкрити звіт у режимі конструктора.

Скасування друкарської роботи за допомогою макросу

Макрос, описаний у цьому розділі, відображає оповіщення під час спроби надрукувати пустий звіт. Якщо натиснути кнопку OK , щоб закрити вікно повідомлення, макрос автоматично скасовує операцію друку. Якщо ви не включаєте оповіщення, він матиме нічого не відбувається під час спроби надрукувати звіт – щось, можливо, буде заплутати користувачів звіту.

Створення макросу

  1. В області переходів клацніть правою кнопкою миші звіт, який потрібно змінити, і виберіть пункт Режим конструктора.

  2. На вкладці Конструктор у групі Відображення або приховання натисніть кнопку Аркуш властивостей.

    -або-

    Двічі клацніть поле у верхньому лівому або правому куті звіту, залежно від регіональних і мовних параметрів.

  3. Перейдіть на вкладку подія , а потім у діалоговому вікні властивості без даних натисніть кнопку Кнопка "Конструктор".

    Відкриється діалогове вікно Вибір побудовника .

  4. Клацніть конструктор макросіві натисніть кнопку OK.

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

  5. У розкривному списку дій макросів у вікні "конструктор макросів" виберіть пункт "повідомлення" зі списку.

  6. у полі повідомлення введіть текст оповіщення.

    Наприклад, ви можете вказати таке: немає записів для звітування.

  7. За потреби змініть значення аргументу в полі звуковий сигнал від " так " на " ні ", а потім у списку тип виберіть тип піктограми, яку потрібно відображати в оповіщенні.

  8. У полі заголовок введіть назву оповіщення.

    Наприклад, ви можете увести жодного запису.

  9. Виберіть розкривний список дій макросів нижче дії Mesageполе , а потім виберіть пункт Скасувати подію.

  10. На вкладці Конструктор у групі закрити натисніть кнопку зберегти.

  11. На вкладці Конструктор у групі Закрити натисніть кнопку Закрити. Якщо з'явиться попереджувальне повідомлення та запитує, чи потрібно зберегти зміни в макросі та властивість звіту, натисніть кнопку так, закрийте звіт, збережіть зміни, якщо з'явиться запит, і перейдіть до наступних кроків, щоб перевірити його.

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

  • В області переходів клацніть правою кнопкою миші звіт, який містить макрос, і виберіть пункт Друк. Залежно від вибраних параметрів у програмі Access відобразиться повідомлення оповіщення.

    Коли ви натиснете кнопку OK , щоб закрити повідомлення, дія cantelevent припиняє операцію друку. Оскільки не вказано іншу подію (наприклад, відкриття звіту для перегляду), звіт закриється.

На початок сторінки

Скасування друкарської роботи за допомогою коду VBA

Код VBA, описаний тут, працює подібно до макросу, описаного в попередньому розділі, коли ви відкриваєте пустий звіт, а потім скасовуватиме операцію друку, коли ви закриваєте оповіщення.

Додавання коду VBA

  1. В області переходів клацніть правою кнопкою миші звіт, який потрібно змінити, і виберіть пункт Режим конструктора.

    Примітка.: Щоб виконати цю процедуру, використовуйте звіт, який не містить записів.

  2. На вкладці Конструктор у групі Відображення або приховання натисніть кнопку Аркуш властивостей.

    -або-

    Двічі клацніть поле у верхньому лівому або правому куті звіту, залежно від регіональних і мовних параметрів.

  3. Перейдіть на вкладку подія , а потім у діалоговому вікні властивості без даних натисніть кнопку Кнопка "Конструктор".

    Відкриється діалогове вікно Вибір побудовника .

  4. Виберіть пункт Конструктор коду, а потім натисніть кнопку OK.

    Запуститься редактор 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 Access.

  8. Закрийте відкритий звіт, а потім натисніть кнопку так , щоб підтвердити збереження.

  9. В області переходів клацніть правою кнопкою миші щойно змінений звіт і натисніть кнопку Друк. Залежно від вибраних параметрів у програмі Access відобразиться повідомлення оповіщення.

Процедура Report_NoData використовує функцію MsgBox , щоб відобразити повідомлення про те, що немає записів для звіту та кнопки OK . Якщо натиснути кнопку OK, рядок "Скасувати = True" в процедурі вказує на те, що програма Access скасує звіт. Скасування – це аргумент, який автоматично передається процедурі події та завжди перевіряється програмою Access, коли завершується Процедура події.

На початок сторінки

Потрібна додаткова довідка?

Отримуйте нові функції раніше за інших
Приєднатися до оцінювачів Microsoft Office

Ця інформація корисна?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?

Дякуємо за відгук!

×