Avbryta utskriften av en rapport om den inte innehåller några poster

Som standard kan du skriva ut rapporter som inte innehåller några poster. Du kan lösa problemet genom att använda antingen ett makro eller microsoft VBA-kod (Visual Basic for Applications) för att identifiera frånvaro av poster i en rapport och sedan avbryta utskriften. I stegen i den här artikeln förklaras hur du använder båda teknikerna.

Vad vill du göra?

Du vill antagligen avbryta utskriften av en rapport när den inte innehåller några poster. Om du till exempel börjar sälja en ny produkt finns det förmodligen en tidsperiod då du inte har registrerat någon försäljning än. Du bör därför överväga att vissa rapporter kanske inte innehåller några detaljposter och att mängdfunktioner, till exempel funktionen Antal, kanske inte har något att räkna. Om du vill hantera en sådan förekomst på ett smidigt sätt kan du skapa ett makro som avbryter utskriften. Du kan också lägga till några rader med noggrant placerad VBA-kod för att göra samma sak. VBA är det programmeringsspråk som Access använder.

Du lägger antingen till makrot eller VBA-koden i händelseproceduren On No Data i rapporten. Access in händelsen Vid inga data när du kör en rapport som inte innehåller några poster. Makrot och VBA-koden som beskrivs i den här artikeln visar ett lämpligt meddelande och avbryter utskriften av rapporten när rapporten inte innehåller några data. När du lägger till ett makro eller VBA-kod i händelseproceduren Vid inga data körs makrot eller VBA-koden varje gång du öppnar en rapport som inte innehåller några poster. När du klickar på OK för att stänga något av varningsmeddelandena stängs även den tomma rapporten. När du lägger till antingen makrot eller VBA-koden i rapporten öppnas inte en tom rapport när du försöker visa den i rapportvyn eller layoutvyn, men du kan öppna rapporten i designvyn.

Avbryta utskriften med hjälp av ett makro

Makrot som beskrivs i det här avsnittet visar ett varningsmeddelande när du försöker skriva ut en tom rapport. När du klickar på OK för att stänga meddelanderutan avbryts utskriften automatiskt av makrot. Om du inte tar med ett varningsmeddelande visas det som om ingenting händer när du försöker skriva ut rapporten – något som förmodligen förvirrar användarna av rapporten.

Skapa makrot

  1. Högerklicka på rapporten som du vill ändra i navigeringsfönstret och klicka på Designvy.

  2. På fliken Design går du till gruppen Visa/dölj och klickar på Egenskapssida.

    - eller -

    Dubbelklicka på rutan längst upp till vänster eller till höger i rapporten beroende på dina nationella inställningar och språkinställningar.

  3. Klicka på fliken Händelse och i egenskapsrutan Ingen information klickar du på Knappen Verktyg .

    Dialogrutan Välj verktyg visas.

  4. Klicka på Makroverktygetoch sedan på OK.

    Makrodesignern startar och visar ett tomt makro.

  5. Välj Meddelanderuta i listan i listrutan med makroåtgärder i fönstret för makrodesign.

  6. i meddelanderutan skriver du texten för ditt varningsmeddelande.

    Du kan till exempel ange följande: Det finns inga poster att rapportera.

  7. Om du vill kan du ändra argumentvärdet i rutan Ljudsignal från Ja till Nej och i listan Typ välja vilken typ av ikon som du vill ska visas i varningsmeddelandet.

  8. Skriv rubriken för varningsmeddelandet i rutan Titel.

    Du kan till exempel ange Inga poster.

  9. Välj listrutan med makroåtgärder under åtgärden Meddelanderuta och välj sedan AvbrytVent.

  10. Klicka på Spara i gruppen Stäng på fliken Design.

  11. Klicka på Stäng i gruppen Stäng på fliken Design. Om ett varningsmeddelande visas och du tillfrågas om du vill spara ändringarna i makrot och rapportegenskapen klickar du på Ja,stänger rapporten, sparar ändringarna om du uppmanas att göra det och fortsätter till nästa steg för att testa den.

Testa makrot

  • Högerklicka på rapporten som innehåller makrot i navigeringsfönstret och klicka på Skriv ut. Beroende på vilka alternativ du har valt visas ett varningsmeddelande i Access.

    När du klickar på OK för att stänga meddelandet stoppar åtgärden AvbrytAvslut utskriften. Eftersom du inte angett någon annan händelse (till exempel att öppna rapporten för visning) stängs rapporten.

Överst på sidan

Avbryta utskriften med VBA-kod

VBA-koden som beskrivs här fungerar ungefär som makrot som beskrivs i föregående avsnitt – det visar ett varningsmeddelande när du öppnar en tom rapport och sedan avbryter utskriften när du stänger varningsmeddelandet.

Lägga till VBA-kod

  1. Högerklicka på rapporten som du vill ändra i navigeringsfönstret och klicka på Designvy.

    Obs!: Använd en rapport som inte innehåller några poster för att slutföra den här proceduren.

  2. På fliken Design går du till gruppen Visa/dölj och klickar på Egenskapssida.

    - eller -

    Dubbelklicka på rutan längst upp till vänster eller till höger i rapporten beroende på dina nationella inställningar och språkinställningar.

  3. Klicka på fliken Händelse och i egenskapsrutan Ingen information klickar du på Knappen Verktyg .

    Dialogrutan Välj verktyg visas.

  4. Klicka på Kodverktygetoch sedan på OK.

    Visual Basic Editor startas och visar en tom händelseprocedur.

  5. Skriv följande kod i Visual Basic Editor så att Report_NoData visas exakt så här när du är klar:

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. När du är klar klickar du på Arkivoch sedan på Spara.

  7. Klicka Arkiv och sedan på Stäng och återgå till Microsoft Access.

  8. Stäng den öppna rapporten och bekräfta spara genom att klicka på Ja.

  9. Högerklicka på rapporten som du just ändrade i navigeringsfönstret och klicka på Skriv ut. Beroende på vilka alternativ du har valt visas ett varningsmeddelande i Access.

The Report_NoData procedure uses the MsgBox function to display the There are no records to report message and an OK button. När du klickar på OKinstruerar raden "Avbryt=Sant" i proceduren Access att avbryta rapporten. Avbryt är ett argument som skickas automatiskt till händelseproceduren och alltid kontrolleras av Access när händelseproceduren slutförs.

Överst på sidan

Behöver du mer hjälp?

Utöka dina Office-kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×