Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

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), aby wykryć brak rekordów w raporcie, a następnie anulować operację 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 = True
    End 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ą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×