Annullere udskrivning af en rapport, hvis den ikke indeholder poster

Du kan som standard udskrive rapporter, der ikke indeholder poster. Hvis du vil løse dette problem, kan du bruge enten en makro eller VBA-kode (Microsoft Visual Basic for Applications) til at opdage fraværet af poster i en rapport og derefter annullere udskrivningen. Fremgangsmåderne i denne artikel forklarer brugen af begge teknikker.

Hvad vil du foretage dig?

Bruge en makro til at annullere udskrivning

Bruge VBA-kode til at annullere udskrivning

Du vil formentlig annullere udskrivningen af en rapport, hvis den ikke indeholder poster. Hvis du f.eks. begynder at sælge et nyt produkt, kan der nemt være en periode, hvor der ikke bliver registreret noget salg. Derfor bør du overveje muligheden for, at nogle af dine rapporter måske ikke indeholder nogen detaljeposter, og at aggregatfunktioner, som f.eks. funktionen Count, måske ikke har noget at optælle. For at håndtere dette på en god måde kan du oprette en makro, der annullerer udskrivningsjobbet. Alternativt kan du tilføje nogle få linjer nøje anbragt VBA-kode til at udføre den samme funktion. VBA er det programmeringssprog, som Microsoft Office Access 2007 anvender.

Du føjer enten makroen eller VBA-koden til rapportens VedIngenData-hændelsesprocedure. Office Access 2007 udløser VedIngenData-hændelsen, når du kører en rapport, der ikke indeholder poster. Makroen og VBA-koden, som beskrives i denne artikel, viser en relevant meddelelse og annullerer udskrivningen af rapporten, når den ikke indeholder data. Når du føjer en makro eller VBA-kode til VedIngenData-hændelsesproceduren, kører makroen eller VBA-koden, når du åbner en rapport, der ikke indeholder poster. Når du klikker på OK for at lukke advarselsmeddelelsen, lukker makroen også den tomme rapport. Når du føjer enten makroen eller VBA-koden til rapporten, åbnes en tom rapport ikke, når du forsøger at åbne den i rapportvisning eller layoutvisning - men du kan åbne rapporten i designvisning.

Bruge en makro til at annullere udskrivning

Makroen, der beskrives i dette afsnit, viser en advarselsmeddelelse, når du forsøger at udskrive en tom rapport. Når du klikker på OK for at lukke meddelelsesboksen, annullerer makroen automatisk udskrivningen. Hvis du ikke medtager en advarselsmeddelelse, vil det se ud, som om der bare ikke sker noget, når du forsøger at udskrive rapporten - noget, der nok vil forvirre brugerne af rapporten.

Oprette makroen

  1. Højreklik på den rapport, du vil ændre, i navigationsruden, og klik derefter på Designvisning.

  2. Klik på Egenskabsark i gruppen Funktioner på fanen Design.

    Eller

    Dobbeltklik på boksen i øverste venstre eller højre hjørne af rapporten, afhængigt af dine Internationale og sproglige indstillinger.

  3. Klik på fanen Hændelse og klik derefter i egenskabsboksen VedIngenDataKnappen Generator .

    Dialogboksen Vælg generator åbnes.

  4. Klik på Makrogenerator, og klik derefter på OK.

    Makrodesigneren starter og åbner en tom makro.

  5. I den første række i makroen skal du klikke på feltet i kolonnen Handling og derefter vælge Meddelelsesboks på listen.

  6. Under Handlingsargumenter i den nederste sektion af makrodesigneren skal du i boksen Meddelelse skrive teksten til advarselsmeddelelsen.

    Du kan f.eks. skrive følgende: Der er ingen poster at rapportere.

  7. Du kan også ændre argumentværdien i boksen Bip fra Ja til Nej og derefter på listen Type vælge den type ikon, du ønsker, der skal vises i advarselsmeddelelsen.

  8. Skriv titlen til advarselsmeddelelsen i boksen Titel.

    Du kan f.eks. skrive Ingen poster.

    Dine ændringer vises i den øverste del af makrodesigneren - i kolonnen Argument ud for handlingen Meddelelsesboks.

  9. I den øverste del af makrodesigneren skal du klikke på den næste celle i kolonnen Handling (cellen lige under Meddelelsesboks) og derefter vælge AnnullerHændelse

    Makroen skal se ud som følgende, selvom du kan bruge en anden tekst i argumenterne:

    Eksempel på makro, der annullerer et udskriftsjob

  10. Under fanen Design i gruppen Luk skal du klikke på Gem objekt som og derefter bruge dialogboksen Gem som til at døbe makroen.

  11. Luk makroen. Hvis der vises en advarselsmeddelelse, hvori du bliver spurgt, om du vil gemme ændringerne til makroen og rapportegenskaben, skal du klikke på Ja og gå videre til de næste trin for at afprøve den.

Afprøve makroen

  • Højreklik i navigationsruden på den rapport, der indeholder makroen, og klik derefter på Udskriv. Afhængigt af de valgte indstillinger vises der en advarselsmeddelelse i stil med følgende:

    Meddelelsesboks, der vises, når rapporten ikke indeholder poster

    Når du klikker på OK for at lukke meddelelsen, stopper handlingen AnnullerHændelse udskrivningen. Fordi du ikke har angivet nogen anden hændelse (f.eks. åbne rapporten for visning), lukkes rapporten.

Toppen af siden

Bruge VBA-kode til at annullere udskrivning

VBA-koden, der beskrives her, fungerer stort set på samme måde som makroen, der er beskrevet i forrige afsnit - den viser en advarselsmeddelelse, når du åbner en tom rapport, og annullerer derefter udskrivningen, når du lukker advarselsmeddelelsen.

Tilføje VBA-kode

  1. Højreklik på den rapport, du vil ændre, i navigationsruden, og klik derefter på Designvisning.

  2. Klik på Egenskabsark i gruppen Funktioner på fanen Design.

    Eller

    Dobbeltklik på boksen i øverste venstre eller højre hjørne af rapporten, afhængigt af dine Internationale og sproglige indstillinger.

  3. Klik på fanen Hændelse, og klik derefter i egenskabsboksen VedIngenDataKnappen Generator .

    Dialogboksen Vælg generator åbnes.

  4. Klik på Kodegenerator, og klik derefter på OK.

    Visual Basic Editor starter og viser en tom hændelsesprocedure.

  5. Skriv følgende kode i Visual Basic Editor, så Rapport_IngenData-proceduren ser ud nøjagtigt som følgende, når du er færdig:

    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 er færdig, skal du i menuen Filer klikke på Gem og klikke på Ja for at bekræfte gemningen, og derefter skal du i menuen Filer klikke på Luk, og vend tilbage til Microsoft Office Access. Luk Visual Basic Editor, og luk derefter den åbne rapport.

  7. Højreklik i navigationsruden på den rapport, du lige har ændret, og klik derefter på Udskriv. Der vises en meddelelse som følgende:

Meddelelsesboks, der vises, når rapporten ikke indeholder poster

Rapport_IngenData-proceduren anvender funktionen Meddelelsesboks til at vise meddelelsen Der er ingen poster at rapportere og knappen OK. Når du klikker på OK, instruerer linjen "Cancel=True" i proceduren Access om at annullere rapporten. Annuller er et argument, der automatisk overføres til hændelsesproceduren og altid kontrolleres af Access, når hændelsesproceduren er udført.

Toppen af siden

Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×