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