Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

По подразбиране можете да отпечатвате отчети, които не съдържат записи. За да решите този проблем, можете да използвате макрос или код на Microsoft Visual Basic for Applications (VBA), за да откриете липсата на записи в отчет и след това да отмените операцията за печат. Стъпките в тази статия обясняват как да използвате и двете техники.

Какво искате да направите?

Вероятно искате да отмените отпечатването на отчет, когато той не съдържа записи. Например ако започвате да продавате нов продукт, вероятно има период от време, през който все още да регистрирате някакви продажби. Следователно трябва да обмислите възможността някои от вашите отчети да не съдържат никакви подробни записи и агрегатните функции, като например функцията Count , да нямат нищо за преброяване. За да обработите това повторение елегантно, можете да създадете макрос, който отменя заданието за печат. Можете също да добавите няколко реда внимателно поставен VBA код, за да направите едно и също нещо. VBA е езикът за програмиране, който Access използва.

Можете да добавите или макроса, или VBA кода към процедурата за обработка на събитието On No Data на отчета. Access активира събитието При липса на данни всеки път, когато стартирате отчет, който няма записи. Макросът и кодът на VBA, описани в тази статия, показват подходящо съобщение и отменят отпечатването на отчета, когато този отчет не съдържа данни. Когато добавите макрос или VBA код към процедурата за обработка на събитието "При липса на данни ", макросът или кодът на VBA се изпълнява всеки път, когато отворите отчет, който не съдържа записи. Когато щракнете върху OK , за да затворите което и да е предупредително съобщение, макросът затваря и празния отчет. Когато добавите към отчета или макроса, или кода на VBA, празен отчет няма да се отвори, когато се опитате да го покажете в изглед на отчет или изглед на оформление , но можете да отворите отчета в изглед за проектиране.

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

Макросът, описан в този раздел, показва предупредително съобщение, когато се опитате да отпечатате празен отчет. Когато щракнете върху OK , за да затворите полето на съобщението, макросът автоматично отменя операцията за печат. Ако не включите предупредително съобщение, то ще се появи така, сякаш нищо не се случва, когато се опитате да отпечатате отчета – нещо, което вероятно ще обърка потребителите на отчета.

Създаване на макроса

  1. В навигационния екран щракнете с десния бутон върху отчета, който искате да промените, и щракнете върху Режим на проектиране.

  2. В раздела Структура, в групата Показване/скриване щракнете върху Списък на свойствата.

    -или-

    Щракнете двукратно върху полето в горния ляв или десен ъгъл на отчета в зависимост от вашите регионални и езикови настройки.

  3. Щракнете върху раздела Събитие и в полето на свойството При липса на данни щракнете върху Бутон "Конструктор".

    Появява се диалоговият прозорец Избор на конструктор .

  4. Щракнете върху Конструктор на макроси и след това щракнете върху OK.

    Конструкторът на макроси се стартира и показва празен макрос.

  5. В падащия списък с макрокоманди в прозореца за проектиране на макроси изберете MessageBox от списъка.

  6. в полето Съобщение въведете текста за вашето предупредително съобщение.

    Можете например да въведете следното: Няма записи за отчитане.

  7. Ако желаете, променете стойността на аргумента в полето Beep от Да на Не и в списъка Тип изберете типа на иконата, която искате да се показва във вашето предупредително съобщение.

  8. В полето Заглавие въведете заглавието за вашето предупредително съобщение.

    Например можете да въведете Без записи.

  9. Изберете падащия списък с макрокоманди под действието MessageBox , след което изберете CancelEvent.

  10. В раздела Проектиране , в групата Затвори щракнете върху Запиши.

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

Проверка на вашия макрос

  • В навигационния екран щракнете с десния бутон върху отчета, съдържащ макроса, и щракнете върху Печат. В зависимост от опциите, които сте избрали, Access показва предупредително съобщение.

    Когато щракнете върху OK , за да затворите съобщението, действието CancelEvent спира операцията за печат. Тъй като не сте задали друго събитие (например отваряне на отчета за преглед), отчетът се затваря.

Най-горе на страницата

Използване на код на 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, редът "Отказ=Истина" в процедурата инструктира Access да отмени отчета. "Отказ" е аргумент, който автоматично се подава на процедурата за събитие и винаги се проверява от Access, когато процедурата за обработка на събитието завърши.

Най-горе на страницата

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×