Anulowanie drukowania raportu, który nie zawiera żadnych rekordów

Uwaga:  Staramy się udostępniać najnowszą zawartość Pomocy w Twoim języku tak szybko, jak to możliwe. Ta strona została przetłumaczona automatycznie i może zawierać błędy gramatyczne lub nieścisłości. Chcemy, aby ta zawartość była dla Ciebie przydatna. Prosimy o powiadomienie nas, czy te informacje były pomocne, u dołu tej strony. Oto angielskojęzyczny artykuł do wglądu.

Drukowanie raportów, które nie zawierają żadnych rekordów, jest domyślnie włączone. Aby rozwiązać ten problem, można zastosować makro lub kod języka Microsoft Visual Basic for Applications (VBA) w celu wykrycia braku rekordów w raporcie oraz anulowania operacji drukowania. W tym artykule wyjaśniono, jak stosować obie techniki.

Co chcesz zrobić?

Anulowanie drukowania za pomocą makra

Anulowanie drukowania przy użyciu kodu VBA

Drukowanie raportu, który nie zawiera żadnych rekordów, jest niepotrzebne i najczęściej zostanie anulowane. Na przykład w początkowym okresie wprowadzania na rynek nowego produktu może wystąpić pewien okres, podczas którego nie odnotowuje się żadnej sprzedaży. Należy zatem wziąć pod uwagę możliwość, że w niektórych raportach mogą nie wystąpić żadne rekordy szczegółowe i że funkcje agregujące, takie jak Zlicz, mogą nie mieć niczego do liczenia. Aby prawidłowo obsłużyć taką sytuację, można utworzyć makro, które anuluje zadanie drukowania. Można też dodać do raportu kilka wierszy odpowiednio napisanego kodu języka VBA. VBA to język programowania używany w programie Microsoft Office Access 2007.

Dodawanie makra lub kod języka VBA do raportu Na nie Data procedura zdarzenia. Office Access 2007 uaktywnia zdarzenie Przy braku danych po uruchomieniu raportu, który nie zawiera żadnych rekordów. Makra i kod języka VBA opisane w tym artykule wyświetli odpowiedni komunikat i anulowanie drukowania raportu, gdy ten raport nie zawiera żadnych danych. Po dodaniu makra lub kod języka VBA do procedury zdarzenia Przy braku danych , makra lub kod języka VBA jest uruchamiany przy każdym otwarciu raportu, który nie zawiera żadnych rekordów. Po kliknięciu przycisku OK, aby zamknąć komunikat alertu makro zamyka również pustego raportu. Po dodaniu makro lub kod języka VBA w raporcie pusty raport nie zostanie otwarty podczas próby ją wyświetlić w widoku raportu lub widok układu —, ale można otworzyć raport w widoku projektu.

Anulowanie drukowania za pomocą makra

Zastosowanie makra w sposób opisany w tej sekcji powoduje wyświetlenie komunikatu 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 komunikat alertu nie zostanie dołączony, podczas próby wydrukowania raportu nic się nie stanie — może to wprowadzić w błąd 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 górnym rogu raportu w zależności od ustawień regionalnych i językowych.

  3. Kliknij kartę zdarzenie, a w polu właściwości Przy braku danych kliknij Przycisk Konstruktor .

    Zostanie wyświetlone okno dialogowe Wybieranie konstruktora.

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

    W projektancie makr zostanie uruchomione i wyświetlone puste makro.

  5. W pierwszym wierszu makra kliknij pole w kolumnie Akcja i z listy wybierz opcję OknoKomunikatu.

  6. W obszarze Argumenty akcji w dolnej sekcji projektanta makr w polu Komunikat wpisz tekst komunikatu alertu.

    Na przykład można wprowadzić następujące czynności: nie ma żadnych rekordów do raportu.

  7. Opcjonalnie zmień wartość argumentu w polu Sygnalizuj dźwiękiem z Tak na Nie i na liście Typ zaznacz typ ikony, która ma zostać wyświetlona w komunikacie alertu.

  8. W polu Tytuł wpisz tytuł komunikatu alertu.

    Na przykład można wprowadzić Bez rekordów.

    Wprowadzone zmiany zostaną wyświetlone w górnej części projektanta makr — w kolumnie Argument obok akcji OknoKomunikatu.

  9. W górnej części projektanta makr kliknij następną komórkę w kolumnie Akcja (komórka bezpośrednio poniżej akcji OknoKomunikatu), a następnie wybierz pozycję AnulujZdarzenie.

    Makro powinno wyglądać następująco, lecz w argumentach można użyć innego tekstu:

    Przykładowe makro anulujące operację drukowania

  10. Na karcie Projektowanie w grupie Zamykanie kliknij pozycję Zapisz jako, a następnie nadaj nazwę makra za pomocą okna dialogowego Zapisywanie jako.

  11. Zamknij makro. Jeśli zostanie wyświetlony komunikat alertu z pytaniem o zapisanie zmian w makrze i właściwości raportu, kliknij przycisk Tak i przejdź do następnych kroków, aby przetestować makro.

Testowanie makra

  • W okienku nawigacji kliknij prawym przyciskiem myszy raport zawierający makro i kliknij polecenie Drukuj. W zależności od wybranych opcji powinien zostać wyświetlony komunikat alertu podobny do przedstawionego poniżej:

    Okno komunikatu wyświetlane w przypadku braku rekordów w raporcie

    Po kliknięciu przycisku OK w celu zamknięcia okna komunikatu akcja AnulujZdarzenie zatrzyma operację drukowania. Ponieważ nie zostało określone żadne inne zdarzenie (np. otwarcie raportu do przeglądania), raport zostanie zamknięty.

Początek strony

Anulowanie drukowania za pomocą kodu języka VBA

Działanie kodu języka VBA opisane w tym artykule przypomina działanie makra opisane w poprzedniej sekcji — po otwarciu pustego raportu zostaje wyświetlony komunikat alertu, a następnie po zamknięciu komunikatu alertu operacja drukowania zostaje anulowana.

Dodawanie kodu języka 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żyć 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 górnym rogu raportu w zależności od ustawień regionalnych i językowych.

  3. Kliknij kartę zdarzenie, a w polu właściwości Przy braku danych kliknij Przycisk Konstruktor .

    Zostanie wyświetlone okno dialogowe Wybieranie konstruktora.

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

    Zostanie uruchomiony Edytor Visual Basic i pojawi się pusta procedura zdarzenia.

  5. Wpisz następujący kod w Edytorze Visual Basic, aby nadać procedurze Report_NoData dokładnie taką postać:

    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 kartę plik, a następnie kliknij przycisk Zapisz.

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

  8. Zamknij Otwórz raport, a następnie kliknij przycisk Tak, aby potwierdzić, Zapisz.

  9. W okienku nawigacji kliknij prawym przyciskiem myszy raport, który został właśnie zmodyfikowany, a następnie kliknij polecenie Drukuj. Zostanie wyświetlony komunikat podobny do przedstawionego poniżej:

Okno komunikatu wyświetlane w przypadku braku rekordów w raporcie

Procedura Report_NoData za pomocą funkcji MsgBox wyświetla komunikat There are no records to report (Brak rekordów w raporcie) i przycisk OK. Kliknięcie przycisku OK uaktywnia wiersz „Cancel=True” z tej procedury, który nakazuje programowi Access anulować raport. Wyraz Cancel jest argumentem automatycznie przekazywanym do procedury zdarzenia i zawsze sprawdzanym przez program Access po zakończeniu działania procedury zdarzenia.

Początek strony

Rozwijaj umiejętności związane z pakietem Office
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×