Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Poziom podstawowy: Wymagana znajomość interfejsu użytkownika na komputerach mających jednego użytkownika.
Ten artykuł dotyczy pliku bazy danych programu Microsoft Access (.mdb) lub bazy danych programu Microsoft Access (accdb).
Podsumowanie
Jeśli chcesz wydrukować raport na określonej drukarce, możesz ręcznie wybrać drukarkę i wszystkie opcje drukowania lub zautomatyzować proces, aby za pomocą kliknięcia przycisku można przełączać drukarki, a następnie drukować raport za pomocą opcji wstępnie zdefiniowanych. W tym artykule wyjaśniono, jak zautomatyzować proces wyboru drukarki.
Więcej informacji
W tej procedurze użyto dwóch przykładów:
- Drukowanie na drukarce laserowej.
- Drukowanie na drukarce z macierzą kropkową.
Można zastąpić konkretne drukarki, których chcesz użyć. Aby zautomatyzować proces wybierania drukarek dla określonego raportu, wykonaj następujące kroki:
Utwórz następujące trzy raporty:
- rptLaserPrinter
- rptDotMatrix
- rptMyReport
Uwaga
rptMyReport reprezentuje rzeczywisty raport, który chcesz wydrukować.
Aby ustawić opcje drukarki, wykonaj następujące kroki:
Otwórz rptLaserPrinter w widoku projektu.
W menu Plik kliknij polecenie Drukuj.
Uwaga
W programie Access 2007 lub nowszej wersji kliknij przycisk Microsoft Office , a następnie kliknij pozycję Drukuj.
W oknie dialogowym Drukowanie kliknij drukarkę laserową, która ma być używana w polu Nazwa , a następnie kliknij przycisk OK.
Kliknij pozycję Właściwości, ustaw dowolne opcje drukowania, takie jak orientacja i rozmiar papieru, a następnie kliknij przycisk OK.
Powtórz kroki od a do d dla rptDotMatrix. Kliknij drukarkę z macierzą kropkową w kroku c.
W oknie Baza danych kliknij pozycję Moduły, kliknij pozycję Nowy, a następnie wpisz następującą funkcję:
Uwaga
W programie Access 2007 lub nowszej wersji kliknij pozycję Moduł w grupie Inne na karcie Tworzenie .
Function ChangePrinter(rptToChange As String, rptPrinter As String) Dim rpt1 As Report, rpt2 As Report DoCmd.OpenReport rptToChange, acViewDesign DoCmd.OpenReport rptPrinter, acViewDesign Set rpt1 = Reports(rptToChange) Set rpt2 = Reports(rptPrinter) rpt1.PrtDevNames = rpt2.PrtDevNames DoCmd.Close acReport, rptPrinter, acSaveNo DoCmd.OpenReport rptToChange, acViewPreview End Function
Uwaga
Funkcja ChangePrinter kopiuje właściwość PrtDevNames z jednego raportu do innego. Następnie można skopiować opcje drukowania ustawione dla raportów rptLaserPrinter i rptDotMatrix do określonego raportu, który chcesz wydrukować.
Właściwość acSaveNo jest używana
DoCmd.Close acReport, rptPrinter, acSaveNo
w wierszu kodu. Jeśli nie używasz tej opcji i zapiszesz w projekcie raportu wartość PrtDevName drukarki innej niż domyślna, raport nie będzie mógł znaleźć drukarki po następnym uruchomieniu. Zostanie wyświetlony następujący komunikat o błędzie:Ten dokument został wcześniej sformatowany dla drukarki <PrinterName> na <porcie>, ale ta drukarka nie jest dostępna. Czy chcesz użyć domyślnej drukarki <DefaultPrinterName> na <porcie>?
Zapisz moduł jako moduł Module1, a następnie zamknij Redaktor Visual Basic.
Utwórz następujący formularz:
Form: frmForm1 ------------------------------ RecordSource: Unbound Control Type: Command Button Name: cmdLaser Caption: Laser Control Type: Command Button Name: cmdDotMatrix Caption: Dot Matrix
W menu Widok kliknij pozycję Kod.
Uwaga
W programie Access 2007 lub nowszym kliknij pozycję Wyświetl kod w grupie Narzędzia na karcie Projektowanie .
W Redaktor Visual Basic wpisz następujące procedury:
Private Sub cmdLaser_Click () Call ChangePrinter("rptMyReport", "rptLaserPrinter") DoCmd.PrintOut End Sub Private Sub cmdDotMatrix_Click () Call ChangePrinter("rptMyReport", "rptDotMatrix") DoCmd.PrintOut End Sub
Zamknij Redaktor Visual Basic, a następnie zmień właściwość On Click obu przycisków poleceń na [Event Procedure]. Aby tak zrobić, wykonaj następujące kroki:
W widoku projektu kliknij przycisk polecenia, a następnie kliknij pozycję Właściwości w menu Widok .
W programie Access 2007 lub nowszej wersji kliknij przycisk polecenia w widoku projektu, a następnie kliknij pozycję Arkusz właściwości w grupie Narzędzia na karcie Projektowanie .
Kliknij kartę Zdarzenie , kliknij właściwość Kliknij , kliknij strzałkę w dół, a następnie kliknij pozycję [Procedura zdarzeń].
Aby wydrukować rptMyReport na określonej drukarce, otwórz plik frmForm1 w widoku Formularz, a następnie kliknij odpowiedni przycisk.
Informacje
Aby uzyskać więcej informacji na temat kontrolowania drukarki z programu Microsoft Access, zobacz PrtDevMode, właściwość.