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

Vaikimisi saate printida aruandeid, mis ei sisalda ühtegi kirjet. Selle probleemi lahendamiseks saate kasutada kas makrot või Microsoft Visual Basic for Applications (VBA) koodi, mis tuvastab kirjete puudumise ning tühistab printimise. Selle artikli juhised selgitavad kummagi meetodi kasutamist.

Selle artikli teemad

Printimise tühistamiseks makro kasutamine

Printimise tühistamiseks VBA-koodi kasutamine

Tõenäoliselt soovite printimist tühistada, kui aruanne ei sisalda kirjeid. Näiteks kui alustate uue toote müügiga, on tõenäliselt olemas ajavahemik, mil ei registreerita ühtegi müüki. Seega peaksite valmis olema võimaluseks, et mõni aruanne ei sisalda üksikasjalikke kirjeid ning et kokkuvõttefunktsioonidel (näiteks funktsioonil Count) pole midagi loendada. Säärase olukorra sujuvaks lahendamiseks saate luua printimist tühistava makro. Sama tulemuse saavutamiseks võite ka hoolikalt valitud kohta lisada mõned read VBA-koodi. VBA on programmeerimiskeel, mida Microsoft Office Access 2007 kasutab.

Lisage kas makro või VBA-kood aruande sündmuseprotseduurile Andmete puudumisel. Office Access 2007 käivitab sündmuse Andmete puudumisel iga kord, kui koostate aruande, milles pole kirjeid. Selles teemas kirjeldatud makro ja VBA-kood kuvavad kirjeteta aruande printimisel vastavasisulise teate ja tühistavad printimise. Sündmuseprotseduurile Andmete puudumisel lisatud makro või VBA-kood käivitub iga kord kirjeteta aruande avamisel. Kui klõpsate teatise sulgemiseks nuppu OK, suleb makro ka tühja aruande. Makro või VBA-koodi lisamisel aruandele ei avane tühi aruanne aruande- või küljendivaates, kuid seda on võimalik avada kujundusvaates.

Printimise tühistamiseks makro kasutamine

Selles jaotises kirjeldatud makro kuvab hoiatusteate, kui proovite printida tühja aruannet. Kui klõpsate teateboksi sulgemiseks nuppu OK, tühistab makro automaatselt printimistoimingu. Kui te hoiatusteadet ei käivita, ei näi printimiskäsu andmisel midagi toimuvat ja see ajab aruande kasutajad tõenäoliselt segadusse.

Makro loomine

  1. Paremklõpsake navigeerimispaanil aruannet, mida soovite muuta, ning valige käsk Kujundusvaade.

  2. Klõpsake menüü Kujundus jaotises Tööriistad nuppu Atribuudileht.

    või

    Topeltklõpsake aruande ülal paremas või ülal vasakus nurgas (sõltuvalt teie piirkonna- ja keelesätetest) asuvat välja.

  3. Klõpsake vahekaarti Sündmus ning atribuudiväljal Andmete puudumisel klõpsake nuppu Builder button .

    Avaneb dialoogiboks Koosturi valimine.

  4. Klõpsake valikut Makrokoostur ja seejärel nuppu OK.

    Makrokoostur käivitub ning kuvab tühja makro.

  5. Makro esimesel real klõpsake välja veerus Toiming ning valige loendist toiming Teateboks.

  6. Tippige hoiatusteate tekst makrokoosturi allosas oleva jaotise Toiminguargumendid väljale Sõnum.

    Näiteks võiksite tippida midagi sellist: Aruande koostamiseks puuduvad kirjed.

  7. Soovi korral võite muuta argumendi Piiks väärtuse Jah väärtuseks Ei ning loendist Tüüp valida ikoonitüübi, mida soovite oma hoiatusteates kasutada.

  8. Tippige hoiatusteate pealkiri väljale Pealkiri.

    Näiteks võiksite sinna tippida Kirjed puuduvad.

    Teie tehtud muudatused ilmuvad makrokoosturi ülaosas  — veerus Argumendid toimingu Teateboks kõrval.

  9. Makrokoosturi ülaosas klõpsake veerus Toiming järgmist lahtrit (otse lahtri Teateboks all) ning valige seejärel toiming Tühista_sündmus.

    Teie makro peaks välja nägema selline, kuigi argumentide tekst võib olla erinev:

    Näidismakro, mis tühistab printimistoimingu

  10. Klõpsake menüü Kujundus jaotises Sulgemine nuppu Salvesta objekt nimega ning kasutage makrole nime andmiseks dialoogiboksi Nimega salvestamine.

  11. Sulgege makro. Kui ilmub teatis küsimusega, kas soovite makro ja aruande atribuudi muudatused salvestada, klõpsake nuppu Jah ning jätkake selle testimiseks järgmiste juhistega.

Makro testimine

  • Paremklõpsake navigeerimispaanil makrot sisaldavat aruannet ning valige käsk Prindi. Sõltuvalt teie tehtud valikuist peaks ilmuma sarnane teatis:

    Teateboks, mis kuvatakse kirjeteta aruande korral

    Kui klõpsate teate sulgemiseks nuppu OK, tühistab toiming Tühista_sündmus printimise. Kuna te muid toiminguid (nt aruande avamine vaatamiseks) ei määranud, suletakse aruanne.

Lehe algusesse

Printimise tühistamiseks VBA-koodi kasutamine

Siin kirjeldatud VBA-kood töötab paljuski sarnaselt eelmises jaotises kirjeldatud makroga — tühja aruande avamisel kuvatakse hoiatusteade ja seejärel tühistatakse teate sulgemisel printimine.

VBA-koodi lisamine

  1. Paremklõpsake navigeerimispaanil aruannet, mida soovite muuta, ning valige käsk Kujundusvaade.

  2. Klõpsake menüü Kujundus jaotises Tööriistad nuppu Atribuudileht.

    või

    Topeltklõpsake aruande ülal paremas või ülal vasakus nurgas (sõltuvalt teie piirkonna- ja keelesätetest) asuvat välja.

  3. Klõpsake vahekaarti Sündmus ning atribuudiväljal Andmete puudumisel klõpsake nuppu Builder button .

    Avaneb dialoogiboks Koosturi valimine.

  4. Klõpsake valikut Koodikoostur ja seejärel nuppu OK.

    Käivitub Visual Basic Editor ning kuvab tühja sündmusteprotseduuri.

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

    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üüs File käsku Save, klõpsake salvestamise kinnitamiseks nuppu Yes ning klõpsake menüüs File käsku Close and Return to Microsoft Office Access. Lõpuks sulgege Visual Basic Editor ja seejärel aruanne.

  7. Paremklõpsake navigeerimispaanil äsja muudetud aruannet ja valige käsk Prindi. Näete sarnast teadet:

Teateboks, mis kuvatakse kirjeteta aruande korral

Protseduur Report_NoData kasutab teate There are no records to report (Aruande koostamiseks puuduvad kirjed) kuvamiseks funktsiooni MsgBox (Teateboks) ja nuppu OK. Nupu OK klõpsamisel käsib rida "Cancel=True" Accessil aruande tühistada. Cancel (Tühista) on sündmusteprotseduuri automaatselt edastatav argument ning Access kontrollib seda iga kord sündmusteprotseduuri lõpuleviimisel.

Lehe algusesse

Täiendage oma 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.

×