Access – Kreiranje forme za izbor izveštaja

Sve aplikacije koje u osnovi rade sa bazama podataka, moraju da u sebi imaju funkciju izveštavanja, odnosno kreiranja izveštaja za korisnike, i to na ekranu ili papiru. Kada imamo veću bazu podataka, imamo i potrebu za većim brojem izveštaja. U ovom slučaju potrebno je da kreiramo odgovarajući korisnički interfejs za izbor izveštaja i njegovo prikazivanje. U sledećem primeru kreiraćemo formu za izbor izveštaja, iza koje će stajati VBA programski kod, odnosno jedna od njegovih instrukcija „Select Case…“.

Pre kreiranja same forme potrebno je da imate kreirane i izveštaje (Reports). Otvorite novu formu u Design modu i prvo na formu postavite kontrolu „Option Group“, u koju ćemo smestiti nekoliko opcionih dugmadi. Potom ćemo na formu, odnosno u opcionu grupu, dodati određen broj opcionih dugmića (Option Buttons). Njihov broj će zavisiti od broja izveštaja koje ćete pozivati sa ove forme. Kako budete dodavali dugmiće, u osobinu Caption, svakog dugmića upišite naziv izveštaja. Nakon dodavanja opcionih dugmića, dodajte na formu još dva komandna dugmića i nazovite ih „Pregled“ i „Stampaj“. Prvim dugmićem ćemo pozivati pregled pre štampe (Print Preview), a drugim ćemo izabrani izveštaj slati direktno na štampu. Osnovna funkcija za obradu izbora izveštaja biće „StampajIzvestaj(ModStampanja As Integer)“, gde imamo samo jedan argument – ModStampanja, koji će određivati da li izveštaj ide na ekran ili na direktno štampanje. Programski kod funkcije je sledeći:


Sub StampajIzvestaj(ModStampanja As Integer)
On Error GoTo Obrada_Greske

Select Case Me!NazivOpcioneGrupe
Case 1
DoCmd.OpenReport „Izvestaj o radnicima“, ModStampanja
Case 2
DoCmd.OpenReport „Izvestaj o ucinku“, ModStampanja
End Select

DoCmd.Close acForm, „Print“
‘zatvara formu za izbor

Obrada_Greske:
Exit Sub

End Sub


Funkcija proverava koje je opciono dugme izabrano (u našem slučaju imamo samo dva) i u odnosu na to otvara se određeni izveštaj (OpenReport). Pored toga bitan je mod u kojem će se izveštaj otvoriti, a što zavisi od argumenta koji je prosleđen sa pozivom funkcije.

Preostaje nam još da događaju „Click“ dugmića „Pregled“ i „Stampaj“ dodamo kod koji će pozivati ovu funkciju. Za dugme „Pregled“ kod će biti:


Private Sub Preview_Click()
StampajIzvestaj acPreview
End Sub

, a za dugme „Stampaj“:


Private Sub Print_Click()
StampajIzvestaj acPrint
End Sub

Pratite Krstaricu na www.krstarica.com