Otkazivanje ispisivanja izvješća ako ne sadrži nijedan zapis

Primjenjuje se na
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Po zadanom možete ispisati izvješća koja ne sadrže zapise. Da biste riješili taj problem, pomoću makronaredbe ili koda Microsoft Visual Basic for Applications (VBA) možete otkriti nedostatak zapisa u izvješću i otkazati operaciju ispisa. Upute u ovom članku objašnjavaju oba postupka.

Što želite učiniti?

Vjerojatno ćete htjeti otkazati ispis izvješća ako ne sadrži nijedan zapis. Ako, primjerice, počinjete prodavati novi proizvod, vjerojatno ćete u određenom vremenskom razdoblju morati registrirati nikakvu prodaju. Stoga biste trebali uzeti u obzir mogućnost da neka izvješća ne sadrže zapise detalja i da funkcije zbrajanja, kao što je funkcija Count , nemaju što prebrojati. Da biste uredno obrađivali takve pojave, stvorite makronaredbu koja otkazuje zadatak ispisa. Da biste to isto postigli, možete dodati i nekoliko redaka pažljivo postavljenog VBA koda. VBA je programski jezik koji koristi Access.

Makronaredbu ili VBA kod dodajte u proceduru događaja On No Data za izvješće. Access pokreće događaj On Allowed Any Data (Nema podataka) svaki put kada pokrenete izvješće koje nema zapisa. Makronaredba i VBA kod opisani u ovom članku prikazuju odgovarajuću poruku i otkazuju ispis izvješća ako izvješće ne sadrži podatke. Kada makronaredbu ili VBA kod dodate u proceduru događaja On No Data , makronaredba ili VBA kod pokrenut će se svaki put kada otvorite izvješće koje ne sadrži zapise. Kada kliknete U redu da biste zatvorili bilo koju poruku upozorenja, makronaredba će zatvoriti i prazno izvješće. Kada u izvješće dodate makronaredbu ili VBA kod, prazno se izvješće neće otvoriti kada ga pokušate prikazati u prikazu izvješća ili prikazu izgleda, ali ga možete otvoriti u prikazu dizajna.

Otkazivanje ispisa pomoću makronaredbe

Makronaredba opisana u ovom odjeljku prikazuje poruku upozorenja kada pokušate ispisati prazno izvješće. Kada kliknete U redu da biste zatvorili okvir s porukom, makronaredba automatski otkazuje operaciju ispisa. Ako ne dodate poruku upozorenja, činit će se kao da se ništa ne događa kada pokušate ispisati izvješće, što će vjerojatno zbuniti korisnike izvješća.

Stvaranje makronaredbe

  1. U navigacijskom oknu desnom tipkom miša kliknite izvješće koje želite promijeniti i kliknite Prikaz dizajna.
  2. Na kartici Dizajn u grupi Prikaz/sakrivanje kliknite Popis svojstava.
    – ili –
    Dvokliknite okvir u gornjem lijevom ili desnom kutu izvješća, ovisno o regionalnim i jezičnim postavkama.
  3. Kliknite karticu Događaj , a zatim u okviru svojstva Prilikom nema podataka kliknite gumb Sastavljač .
    Prikazat će se dijaloški okvir Odabir sastavljača .
  4. Kliknite sastavljač makronaredbi, a zatim U redu.
    Pokrenut će se dizajner makronaredbi i prikazati praznu makronaredbu.
  5. Na padajućem popisu akcija makronaredbi u prozoru za dizajniranje makronaredbi na popisu odaberite Okvir s porukom .
  6. U okvir poruke upišite tekst poruke upozorenja.
    Primjerice, možete unijeti sljedeće: Nema zapisa za izvješćivanje.
  7. Ako želite, vrijednost argumenta u okviru zvučnog signala promijenite iz Da u Ne te na popisu Vrsta odaberite vrstu ikone koja će se prikazivati u poruci upozorenja.
  8. U okvir Naslov unesite naslov poruke upozorenja.
    Primjerice, možete unijeti Bez zapisa.
  9. Ispod akcije Okvir poruke odaberite padajući popis akcija makronaredbi, a zatim odaberite OdustaniDogađaj.
  10. Na kartici Dizajn u grupi Zatvaranje kliknite Spremi.
  11. Na kartici Dizajn u grupi Zatvaranje kliknite Zatvori. Ako se pojavi poruka upozorenja i pita želite li spremiti promjene makronaredbe i svojstva izvješća, kliknite Da, zatvorite izvješće, spremite promjene ako se to od vas zatraži pa nastavite sa sljedećim koracima da biste ga testirali.

Testiranje makronaredbe

  • U navigacijskom oknu desnom tipkom miša kliknite izvješće koje sadrži makronaredbu i kliknite Ispis. Ovisno o odabranim mogućnostima, Access prikazuje poruku upozorenja.
    Kada kliknete U redu da biste zatvorili poruku, akcija CancelEvent zaustavlja postupak ispisa. Budući da niste naveli nikakav drugi događaj (npr. otvaranje izvješća radi prikaza), izvješće se zatvara.

Vrh stranice

Otkazivanje ispisa pomoću VBA koda

Ovdje opisani VBA kod funkcionira vrlo slično makronaredbi opisanoj u prethodnom odjeljku – prikazuje poruku upozorenja kada otvorite prazno izvješće, a zatim otkazuje operaciju ispisa prilikom zatvaranja poruke upozorenja.

Dodavanje VBA koda

  1. U navigacijskom oknu desnom tipkom miša kliknite izvješće koje želite promijeniti i kliknite Prikaz dizajna.

    Napomena

    Da biste dovršili ovaj postupak, koristite izvješće koje ne sadrži zapise.

  2. Na kartici Dizajn u grupi Prikaz/sakrivanje kliknite Popis svojstava.
    – ili –
    Dvokliknite okvir u gornjem lijevom ili desnom kutu izvješća, ovisno o regionalnim i jezičnim postavkama.

  3. Kliknite karticu Događaj , a zatim u okviru svojstva Prilikom nema podataka kliknite gumb Sastavljač .
    Prikazat će se dijaloški okvir Odabir sastavljača .

  4. Kliknite Sastavljač koda, a zatim U redu.
    Pokrenut će se Visual Basic Editor i prikazati praznu proceduru događaja.

  5. Upišite sljedeći kod u Visual Basic Editor da bi postupak Report_NoData izgledao potpuno ovako:

    Private Sub Report_NoData (Cancel As Integer)
      MsgBox "There are no records to report", vbExclamation, "No Records"
      Cancel = True
    End Sub
    
    
  6. Kada završite, kliknite Datoteka, a zatim Spremi.

  7. Kliknite Datoteka, a zatim Zatvori i vratite se u Microsoft Access.

  8. Zatvorite otvoreno izvješće, a zatim kliknite Da da biste potvrdili spremanje.

  9. U navigacijskom oknu desnom tipkom miša kliknite izvješće koje ste upravo izmijenili pa kliknite Ispis. Ovisno o odabranim mogućnostima, Access prikazuje poruku upozorenja.

Postupak Report_NoData koristi funkciju MsgBox za prikaz poruke Nema zapisa za prijavu i gumb U redu . Kada kliknete U redu, redak "Odustani=True" u postupku upućuje Access da odustane od izvješća. Cancel je argument koji se automatski prosljeđuje proceduri događaja i Access ga uvijek provjerava kada se procedura događaja dovrši.

Vrh stranice