Sign in with Microsoft
Sign in or create an account.

Som standard kan du udskrive rapporter, der ikke indeholder poster. For at løse dette problem kan du bruge enten en makro eller Microsoft Visual Basic for Applications (VBA)-kode til at registrere fraværet af poster i en rapport og derefter annullere udskriftshandlingen. Trinnene i denne artikel beskriver, hvordan du bruger begge teknikker.

Hvad vil du foretage dig?

Du vil sandsynligvis annullere udskrivningen af en rapport, når den ikke indeholder nogen poster. Hvis du f.eks. begynder at sælge et nyt produkt, vil der sandsynligvis være en tidsperiode, hvor du endnu ikke har registreret noget salg. Du bør derfor overveje muligheden for, at nogle af dine rapporter muligvis ikke indeholder nogen detaljeringsposter, og at aggregeringsfunktionerne, f.eks. funktionen Tæl, muligvis ikke har noget at tælle. Hvis du vil håndtere en sådan forekomst uden problemer, kan du oprette en makro, der annullerer udskriftsjobbet. Du kan også tilføje et par linjer omhyggeligt placeret VBA-kode for at gøre det samme. VBA er det programmeringssprog, Access bruger.

Du tilføjer enten makroen eller VBA-koden til rapportens På Ingen Data-hændelsesprocedure.Access udløser hændelsen Ved Ingen data, hver gang du kører en rapport, der ikke har nogen poster. Makroen og den VBA-kode, der er beskrevet i denne artikel, viser en relevant meddelelse og annullerer udskrivningen af rapporten, når rapporten ikke indeholder nogen data. Når du føjer en makro eller VBA-kode til hændelsesproceduren Ved Ingen data, kører makroen eller VBA-koden, hver gang du åbner en rapport, der ikke indeholder nogen poster. Når du klikker på OK for at lukke en af meddelelserne, 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 få den vist i rapportvisning eller layoutvisning – men du kan åbne rapporten i designvisning.

Bruge en makro til at annullere udskrivning

Den makro, der er beskrevet i dette afsnit, viser en meddelelse, når du forsøger at udskrive en tom rapport. Når du klikker på OK for at lukke meddelelsesfeltet, annullerer makroen automatisk udskrivningen. Hvis du ikke medtager en advarsel, vises den, som om der ikke sker noget, når du forsøger at udskrive rapporten – noget, der sandsynligvis forvirrer brugerne af rapporten.

Oprette makroen

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

  2. Klik på Egenskabsark i gruppen Vis/skjul under fanen Design.

    – eller –

    Dobbeltklik på feltet 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 på fanen Knappen Generator.

    Dialogboksen Vælg generator vises.

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

    Makrodesigneren starter og viser en tom makro.

  5. Vælg Meddelelsesboks på listen over makrohandlinger i makrodesignvinduet.

  6. i feltet Meddelelse, skal du skrive teksten til din besked.

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

  7. Du kan også ændre argumentværdien i feltet Bip fra Ja til Nej og vælge den type ikon, der skal vises i din besked, på listen Type.

  8. Skriv titlen beskeden i feltet Titel.

    Du kan f.eks. skrive Ingen poster.

  9. Vælg rullelisten over makrohandlinger under handlingen Meddelelsesfelt, og vælg derefter AnnullerEvent.

  10. Klik på Gem i gruppen Luk underfanen Design.

  11. Klik på Luk i gruppen Luk under fanen Design. Hvis der vises en meddelelse, hvor du bliver spurgt, om du vil gemme ændringer i makroen og rapportegenskaben, skal du klikke på Ja,lukke rapporten, gemme ændringerne, hvis du bliver bedt om det, og fortsætte til næste trin for at teste den.

Test din makro

  • Højreklik på den rapport, der indeholder makroen, i navigationsruden, og klik på Udskriv. Afhængigt af de valgte indstillinger viser Access en meddelelse.

    Når du klikker på OK for at lukke meddelelsen, stopper handlingen AnnullerEvent udskrivningen. Da du ikke har angivet nogen anden hændelse (f.eks. åbning af rapporten til visning), lukkes rapporten.

Toppen af siden

Brug VBA-kode til at annullere udskrivning

Den VBA-kode, der er beskrevet her, fungerer meget på samme måde som den makro, der er beskrevet i forrige afsnit – den viser en advarsel, når du åbner en tom rapport, og annullerer derefter udskrivningshandlingen, når du lukker beskeden.

Tilføj VBA-kode

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

    Bemærk!: For at fuldføre denne procedure skal du bruge en rapport, der ikke indeholder nogen poster.

  2. Klik på Egenskabsark i gruppen Vis/skjul under fanen Design.

    – eller –

    Dobbeltklik på feltet 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 på fanen Knappen Generator.

    Dialogboksen Vælg generator vises.

  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å den Report_NoData procedure vises nøjagtigt sådan, 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 klikke Filer og derefter klikke på Gem.

  7. Klik Filer, og klik derefter på Luk og vend tilbage til Microsoft Access.

  8. Luk den åbne rapport, og klik derefter på Ja for at bekræfte lagringen.

  9. Højreklik på den rapport, du lige har ændret, i navigationsruden, og klik på Udskriv. Afhængigt af de valgte indstillinger viser Access en meddelelse.

I Report_NoData bruges funktionen MsgBox til at vise, at der ikke er nogen poster til at rapportere en meddelelse og en OK-knap. Når du klikker på OK,får linjen "Annuller=Sand" i proceduren Access til at annullere rapporten. Annuller er et argument, der automatisk overføres til hændelsesproceduren, og som altid kontrolleres af Access, når hændelsesproceduren er fuldført.

Toppen af siden

Har du brug for mere hjælp?

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Deltag i Microsoft Office Insiders

Var disse oplysninger nyttige?

Hvor tilfreds er du med kvaliteten af sproget?
Hvad påvirkede din oplevelse?

Tak for din feedback!

×