Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Nybörjare: Kräver kunskap om användargränssnittet på enanvändardatorer.
Den här artikeln gäller för en Microsoft Access-databasfil (.mdb) eller en Microsoft Access-databasfil (.accdb).
Sammanfattning
Om du vill skriva ut en rapport till en viss skrivare kan du manuellt välja skrivaren och alla utskriftsalternativ, eller så kan du automatisera processen så att du med ett klick på en knapp kan växla skrivare och sedan skriva ut rapporten med de alternativ som du fördefinierar. Den här artikeln beskriver hur du automatiserar processen för skrivarval.
Mer information
I den här proceduren används två exempel:
- Skriva ut till en laserskrivare.
- Skriva ut till en punktmatrisskrivare.
Du kan ersätta de skrivare som du vill använda. Följ dessa steg om du vill automatisera utskriftsprocessen för en viss rapport:
Skapa följande tre rapporter:
- rptLaserPrinter
- rptDotMatrix
- rptMyReport
Obs!
rptMyReport representerar den faktiska rapport som du vill skriva ut.
Följ dessa steg om du vill ange skrivaralternativen:
Öppna rptLaserPrinter i designvyn.
Klicka på Skriv ut i menyn Arkiv.
Obs!
I Access 2007 eller en senare version klickar du på Microsoft Office-knappen och sedan på Skriv ut.
I dialogrutan Skriv ut klickar du på den laserskrivare som du vill använda i rutan Namn och klickar sedan på OK.
Klicka på Egenskaper, ange önskade utskriftsalternativ, till exempel orientering och pappersstorlek, och klicka sedan på OK.
Upprepa steg a till d för rptDotMatrix. Klicka på punktmatrisskrivaren i steg c.
I fönstret Databas klickar du på Moduler, klickar på Nytt och skriver sedan följande funktion:
Obs!
I Access 2007 eller en senare version klickar du på Modul i gruppen Övrigt på fliken Skapa .
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
Obs!
Funktionen ChangePrinter kopierar egenskapen PrtDevNames från en rapport till en annan. Du kan sedan kopiera utskriftsalternativen som du har angett för rptLaserPrinter - och rptDotMatrix-rapporterna till en specifik rapport som du vill skriva ut.
Egenskapen acSaveNo används på
DoCmd.Close acReport, rptPrinter, acSaveNo
kodraden. Om du inte använder det här alternativet och sparar PrtDevName för en skrivare som inte är standard i rapportdesignen kommer rapporten inte att kunna hitta skrivaren när den körs nästa gång. Du får följande felmeddelande:Det här dokumentet har tidigare formaterats för skrivaren <PrinterName> på <port>, men den skrivaren är inte tillgänglig. Vill du använda standardskrivaren <DefaultPrinterName> på <port>?
Spara modulen som Modul1 och avsluta sedan Visual Basic-Editor.
Skapa följande formulär:
Form: frmForm1 ------------------------------ RecordSource: Unbound Control Type: Command Button Name: cmdLaser Caption: Laser Control Type: Command Button Name: cmdDotMatrix Caption: Dot Matrix
Klicka påKod på Visa-menyn.
Obs!
I Access 2007 och senare klickar du på Visa kod i gruppen Verktyg på fliken Design .
I Visual Basic-Editor skriver du följande procedurer:
Private Sub cmdLaser_Click () Call ChangePrinter("rptMyReport", "rptLaserPrinter") DoCmd.PrintOut End Sub Private Sub cmdDotMatrix_Click () Call ChangePrinter("rptMyReport", "rptDotMatrix") DoCmd.PrintOut End Sub
Avsluta Visual Basic-Editor och ändra sedan egenskapen Vid klick för båda kommandoknapparna till [Händelseprocedur]. Gör så här:
I designvyn klickar du på kommandoknappen och sedan på Egenskaper på Menyn Visa .
I Access 2007 eller en senare version klickar du på kommandoknappen i designvyn och sedan på Egenskapssida i gruppen Verktyg på fliken Design .
Klicka på fliken Händelse , klicka på egenskapen Klicka, klicka på nedåtpilen och klicka sedan på [Händelseprocedur].
Om du vill skriva ut rptMyReport till en viss skrivare öppnar du frmForm1 i formulärvyn och klickar sedan på lämplig knapp.
Referenser
Mer information om hur du styr skrivaren från Microsoft Access finns i PrtDevMode-egenskapen.