Applies ToAccess dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Domyślnie można drukować raporty, które nie zawierają żadnych rekordów. Aby rozwiązać ten problem, możesz użyć makra lub kodu języka Microsoft Visual Basic for Applications (VBA) w celu wykrycia braku rekordów w raporcie, a następnie anulowania operacji drukowania. W procedurach opisanych w tym artykule wyjaśniono, jak używać obu technik.

Co chcesz zrobić?

Prawdopodobnie chcesz anulować drukowanie raportu, gdy nie zawiera on żadnych rekordów. Jeśli na przykład zaczynasz sprzedawać nowy produkt, prawdopodobnie istnieje okres, w którym nie zarejestrowano jeszcze żadnej sprzedaży. Dlatego warto rozważyć możliwość, że niektóre raporty mogą nie zawierać żadnych rekordów szczegółowych, a funkcje agregujące, takie jak funkcja Zlicz , mogą nie mieć nic do zliczenia. Aby z wdziękiem poradzić sobie z takim wystąpieniem, możesz utworzyć makro, które anuluje zadanie drukowania. Możesz również dodać kilka wierszy starannie umieszczonego kodu VBA, aby zrobić to samo. Język VBA jest językiem programowania używanym przez Access.

Do procedury zdarzenia Przy zakazie da ta można dodać makro lub kod języka VBA. Access wyzwala zdarzenie Przy braku danych przy każdym uruchomieniu raportu, który nie zawiera rekordów. Makro i kod języka VBA opisane w tym artykule wyświetlają odpowiedni komunikat i anulują drukowanie raportu, gdy ten raport nie zawiera żadnych danych. Po dodaniu makra lub kodu języka VBA do procedury zdarzenia Przy braku danych makro lub kod języka VBA jest uruchamiane przy każdym otwarciu raportu, który nie zawiera żadnych rekordów. Gdy klikniesz przycisk OK , aby zamknąć dowolny z komunikatów alertów, makro zamknie również pusty raport. Po dodaniu makra lub kodu języka VBA do raportu podczas próby wyświetlenia go w widoku raportu lub układu nie zostanie otwarty pusty raport, ale można go otworzyć w widoku projektu.

Anulowanie drukowania za pomocą makra

Makro opisane w tej sekcji wyświetla komunikat alertu podczas próby wydrukowania pustego raportu. Po kliknięciu przycisku OK w celu zamknięcia okna komunikatu makro automatycznie anuluje operację drukowania. Jeśli nie zostanie dołączona wiadomość alertu, będzie ona wyglądać tak, jakby podczas próby wydrukowania raportu nic się nie działo — co prawdopodobnie pomyli użytkowników raportu.

Tworzenie makra

  1. W okienku nawigacji kliknij prawym przyciskiem myszy raport, który chcesz zmienić, a następnie kliknij polecenie Widok projektu.

  2. Na karcie Projektowanie w grupie Pokazywanie/ukrywanie kliknij przycisk Arkusz właściwości.

    — lub —

    Kliknij dwukrotnie pole w lewym górnym lub prawym rogu raportu, w zależności od ustawień regionalnych i językowych.

  3. Kliknij kartę Zdarzenie i w polu właściwości Przy braku danych kliknij pozycję Przycisk Konstruktor.

    Zostanie wyświetlone okno dialogowe Wybieranie konstruktora .

  4. Kliknij pozycję Konstruktor makr, a następnie kliknij przycisk OK.

    Zostanie uruchomiony projektant makr i zostanie wyświetlone puste makro.

  5. Z listy rozwijanej akcji makr w oknie projektowania makr wybierz pozycję MessageBox z listy.

  6. w polu Wiadomość wpisz tekst wiadomości alertu.

    Możesz na przykład wprowadzić następujące informacje: Nie ma żadnych rekordów do zgłoszenia.

  7. Opcjonalnie zmień wartość argumentu w polu Sygnalij taknaNie i z listy Typ wybierz typ ikony, która ma być wyświetlana w komunikacie alertu.

  8. W polu Tytuł wpisz tytuł wiadomości alertu.

    Można na przykład wprowadzić wartość Brak rekordów.

  9. Wybierz listę rozwijaną akcji makr poniżej akcji MessageBox , a następnie wybierz pozycję AnulujZdarzeń.

  10. Na karcie Projektowanie w grupie Zamykanie kliknij przycisk Zapisz.

  11. Na karcie Projektowanie w grupie Zamykanie kliknij pozycję Zamknij. Jeśli zostanie wyświetlony komunikat alertu z pytaniem, czy chcesz zapisać zmiany w makkra i właściwości raportu, kliknij przycisk Tak, zamknij raport, zapisz zmiany, jeśli zostanie wyświetlony monit, i przejdź do następnych kroków, aby je przetestować.

Testowanie makra

  • W okienku nawigacji kliknij prawym przyciskiem myszy raport zawierający makro, a następnie kliknij polecenie Drukuj. W zależności od wybranych opcji program Access wyświetla komunikat alertu.

    Po kliknięciu przycisku OK w celu zamknięcia wiadomości akcja AnulujZację zatrzymuje operację drukowania. Ponieważ nie określono żadnego innego zdarzenia (na przykład otwarcia raportu w celu wyświetleniu), raport zostanie zamknięty.

Początek strony

Anulowanie drukowania za pomocą kodu VBA

Opisany tutaj kod języka VBA działa podobnie do makra opisanego w poprzedniej sekcji — wyświetla komunikat alertu po otwarciu pustego raportu, a następnie anuluje operację drukowania po zamknięciu komunikatu alertu.

Dodawanie kodu VBA

  1. W okienku nawigacji kliknij prawym przyciskiem myszy raport, który chcesz zmienić, a następnie kliknij polecenie Widok projektu.

    Uwaga: Aby wykonać tę procedurę, użyj raportu, który nie zawiera żadnych rekordów.

  2. Na karcie Projektowanie w grupie Pokazywanie/ukrywanie kliknij przycisk Arkusz właściwości.

    — lub —

    Kliknij dwukrotnie pole w lewym górnym lub prawym rogu raportu, w zależności od ustawień regionalnych i językowych.

  3. Kliknij kartę Zdarzenie i w polu właściwości Przy braku danych kliknij pozycję Przycisk Konstruktor.

    Zostanie wyświetlone okno dialogowe Wybieranie konstruktora .

  4. Kliknij pozycję Konstruktor kodu, a następnie kliknij przycisk OK.

    Zostanie uruchomiony Edytor Visual Basic i zostanie wyświetlona pusta procedura zdarzenia.

  5. Wpisz następujący kod w Edytorze Visual Basic, aby po zakończeniu procedura Report_NoData była wyświetlana dokładnie tak:

    Private Sub Report_NoData (Cancel As Integer)  MsgBox "There are no records to report", vbExclamation, "No Records"  Cancel = TrueEnd Sub
  6. Po zakończeniu kliknij pozycję Plik, a następnie kliknij pozycję Zapisz.

  7. Kliknij pozycję Plik, a następnie kliknij pozycję Zamknij i wróć do programu Microsoft Access.

  8. Zamknij otwarty raport, a następnie kliknij przycisk Tak , aby potwierdzić zapisanie.

  9. W okienku nawigacji kliknij prawym przyciskiem myszy właśnie zmieniony raport, a następnie kliknij polecenie Drukuj. W zależności od wybranych opcji program Access wyświetla komunikat alertu.

W procedurze Report_NoData jest używana funkcja MsgBox w celu wyświetlenia komunikatu Nie ma rekordów do zgłaszania i przycisku OK . Po kliknięciu przycisku OK wiersz "Anuluj=Prawda" w procedurze nakazuje programowi Access anulowanie raportu. Anuluj to argument, który jest automatycznie przekazywany do procedury zdarzenia i jest zawsze sprawdzany przez program Access po zakończeniu procedury zdarzenia.

Początek strony

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.