Aruande printimise tühistamine, kui see ei sisalda ühtegi kirjet

Vaikimisi saate printida kirjeid sisaldavaid aruandeid. Selle probleemi lahendamiseks saate kasutada makrot või Microsoft Visual Standard for Applications (VBA) koodi, et tuvastada aruannetes kirjete puudumine ja seejärel katkestada prinditöö. Selle artikli juhistes selgitatakse, kuidas mõlemat tehnikat kasutada.

Selle artikli teemad

Tõenäoliselt soovite loobuda aruannete printimisest, kui see ei sisalda kirjeid. Kui olete näiteks hakanud müüma uut toodet, on tõenäoline, et see on aeg, mille jooksul te pole veel müüki registreerinud. Seetõttu peaksite arvestama võimalusega, et mõned teie aruanded ei sisalda üksikasjalikke kirjeid, ja et kokkuvõttefunktsiooni (nt funktsioon Count ) ei pruugi midagi loendada. Sellise sündmuse lahendamiseks saate luua makro, mis tühistab prinditöö. Sama toimingu tegemiseks võite lisada ka mõne rea hoolikalt paigutatud VBA-koodi. VBA on programmeerimise keel, mida Access kasutab.

Makro või VBA-koodi lisamine protokollile ei ole data sündmuse protseduuril. Access käivitab andmeteta sündmuse, kui käivitate aruande, millel pole kirjeid. Selles artiklis kirjeldatud makro ja VBA-kood kuvavad asjakohase sõnumi ja tühistavad aruandes printimise, kui see aruanne ei sisalda andmeid. Kui lisate makro või VBA-koodi andmeteta sündmuse protseduurile, käivitub makro või VBA-kood alati, kui avate aruande, mis ei sisalda kirjeid. Kui klõpsate teate sulgemiseks nuppu OK , sulgub makro ka tühjal ettekandel. Kui lisate teatele makro või VBA-koodi, siis ei avane tühi teade, kui proovite seda kuvada vaates vaade või Küljendivaade, kuid saate selle avada kujundusvaates.

Makro kasutamine printimise tühistamiseks

Selles jaotises kirjeldatud makro kuvab hoiatusteate, kui proovite printida tühja aruanne. Kui klõpsate märkeruudu sulgemiseks nuppu OK , tühistab makro printimise automaatselt. Kui te ei lisa teatist, kuvatakse see justkui midagi ei juhtu, kui proovite printida aruande – midagi, mis tõenäoliselt ajab aruande kasutajad segadusse.

Makro loomine

  1. Paremklõpsake navigeerimispaanil muudetavat käsku ja seejärel klõpsake käsku Kujundusvaade.

  2. Klõpsake menüü Kujundus jaotises Kuvamine/peitmine nuppu Atribuudileht.

    -või-

    Olenevalt piirkonna-ja keelesätetest topeltklõpsake selle ülemises vasakpoolses või paremas ülanurgas asuvat välja.

  3. Klõpsake vahekaarti sündmus ja klõpsake väljal "andmeteta andmed " Koosturi nupp .

    Kuvatakse dialoogiboks Builderi valimine .

  4. Klõpsake nuppu makro ehitajaja seejärel nuppu OK.

    Makro kujundaja käivitub ja kuvab tühja makro.

  5. Valige makro kujunduse akna makrod ripploendist loendist MessageBox .

  6. Tippige teatise tekst väljale sõnum .

    Näiteks võite sisestada järgmised andmed: aruandluseks pole kirjeid.

  7. Soovi korral saate muuta väljal piiks olevat argumenti väärtuseks Jahei ja valige loendist Tüüp ikoon, mida soovite oma teatises näha.

  8. Tippige väljale tiitel oma hoiatusteate pealkiri.

    Näiteks võite kirjeid mittelisada.

  9. Valige MessageBox all olevate makrode ripploendid ja seejärel valige CancelEvent.

  10. Klõpsake menüü kujundus jaotises sulgemine nuppu Salvesta.

  11. Klõpsake menüü Kujundus jaotises Sulgemine nuppu Sule. Kui kuvatakse hoiatusteade, mis küsib, kas soovite makrosse ja atribuudisse tehtud muudatused salvestada, klõpsake nuppu Jah, sulgege oma aruanded, salvestage muudatused, kui seda küsitakse, ja jätkake järgmiste juhistega selle testimiseks.

Makro testimine

  • Paremklõpsake navigeerimispaanil makrot sisaldavat teatist ja seejärel klõpsake käsku Prindi. Olenevalt teie valitud suvanditest kuvab Access hoiatusteate.

    Kui klõpsate sõnumi sulgemiseks nuppu OK , peatab CancelEvent toimingu prinditöö. Kuna te ei määranud ühtegi muud sündmust (nt teate kuvamist), sulgub see.

Lehe algusse

Printimisest loobumise tühistamine VBA-koodi abil

Siin kirjeldatud VBA-kood töötab sarnaselt eelmises jaotises kirjeldatud makroga – See kuvab hoiatusteate tühja ettekande avamisel ja seejärel tühistab teatise sulgemisel prinditöö.

VBA-koodi lisamine

  1. Paremklõpsake navigeerimispaanil muudetavat käsku ja seejärel klõpsake käsku Kujundusvaade.

    Märkus.: Selle toimingu sooritamiseks kasutage aruandeid, mis ei sisalda kirjeid.

  2. Klõpsake menüü Kujundus jaotises Kuvamine/peitmine nuppu Atribuudileht.

    -või-

    Olenevalt piirkonna-ja keelesätetest topeltklõpsake selle ülemises vasakpoolses või paremas ülanurgas asuvat välja.

  3. Klõpsake vahekaarti sündmus ja klõpsake väljal "andmeteta andmed " Koosturi nupp .

    Kuvatakse dialoogiboks Builderi valimine .

  4. Klõpsake nuppu kood Builderja seejärel nuppu OK.

    Visual Visual Editor käivitub ja kuvab tühja sündmuse protseduuri.

  5. Tippige Visual Visual Editori järgmine kood, nii et Report_NoData protseduur kuvataks täpselt nii, kui olete lõpetanud.

    Private Sub Report_NoData (Cancel As Integer)
    MsgBox "There are no records to report", vbExclamation, "No Records"
    Cancel = True
    End Sub
  6. Kui olete lõpetanud, klõpsake menüüd failidja seejärel nuppu Salvesta.

  7. Valige menüü failidja seejärel klõpsake käsku Sule ja naaske Microsoft Accessi.

  8. Sulgege avatud aruanded ja klõpsake siis salvestamise kinnitamiseks nuppu Jah .

  9. Paremklõpsake navigeerimispaanil äsja muudetud aruandeid ja klõpsake käsku Prindi. Olenevalt teie valitud suvanditest kuvab Access hoiatusteate.

Report_NoData-toiming kasutab funktsiooni MsgBox , et kuvada sõnumite ja nupu OK klõpsamisel kirjete puudumine. Kui klõpsate nuppu OK, juhendab protseduuri rida "Cancel = True" juurdepääsust, et teatis tühistada. Loobu on argument, mis edastatakse automaatselt sündmuse protseduurile ning kui Sündmuse protseduur on lõppenud, kontrollitakse seda alati Accessi kaudu.

Lehe algusse

Kas vajate veel abi?

Täiendage Office'i kasutamise oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×