Preporucujem da ne koristite MsysObject tabelu, zato sto je tesko kontrolisati koje reporte zelite da vidite u listi. Umesto MsysObject, napravite sopstvenu tabelu, ja je obicno zovem SysIZvestaji. Table ima sledece kolone:
1) Izvestaj = naziv Access report objecta, onako kako s epojavljuje u Access prozoru, rptGodIZv ili u vasem slucaju "Reprezentant" ili "Reprezentant2". Prefix "rpt" ili "rep" je pozeljan

2) FormOrReport: "R" znaci da se otvara report direktno, "F" znaci da se otvara forma koja obezbedjuje parametre za izvestaj i na kraju otvara sam izvestaj
3) Opis - ono sto zelite da korisnik vid na izbornoj listi
4) Sortiranje, decimalni broj koji odredjuej poziciju reporta na listi
Tabelu popunit onim izvestajima koje zelite da imate na lsiti. Ja sam izabrao dva da se vide listi, iako imam 4 report objekta.
Potrebna vam je i form frmReportManager. Na njoj je list box koji pokazuje izvestaje koje imate u tabeli SysIzvestaji. Potrebno je da se vidi opis, sve ostalo nije obavezno. na formi imate dugme koje poziva izabrani izvestaj ili formu. Imate i destinaciju (print, preview) za slucajeve kada otvarate izvestaj. Ako otvarate formu, onda form preuzima dalju komandu - parametri, provere i destinacija.
Dodao sam modul LOcalFunctions, gde se nalaziu funkcija OpenReport, koja u stvari radi ceo posao. Dugme na frmReportManager samo poziva tu funkciju. Dupli klik na listu izvestaja poziva dugmetov OnClick event, i sve je dalje isto.
Dodao sam i funkciju CurrentFile(), ona nema veze sa temom, ali meni pomaze da znam u kom fajlu radim.
Pazljivo pogledajte kako su uslovi s aforme povezani sa izvestajima. Uklonio sam parameter sa svih kverija i iz izvestaja, jer je to losa praksa- tesko s erazume sta je uradjeno i tesko s eotkrivaju greske. Takodje, combo boxovi na formi frmRep_Reprezentant2 nisu imali najsrecnije odabran Row_Source, pa sam malo i to doterao. Uglavnom, sad radi, onako kako s etrazi.
Ovo je genralno najbezbedniji nacin upravljanja izvestajima, jer omogucava:
- da sami izaberete koje cete izvetsaje da imate na listi, mozete da ih skidate i dodajete po volji
- redosled pojavljivanja
- izvestaji se mogu otvarati direktno ili preko forme
- kontrolise se destinacija (printer ili ekran, u Access 2007+ ima i treca opcja, skrolovanje na ekranu)
Ko hoce da radi nesto napredno, moze da doda i trecu 'kategoriju' izvestaja, pored 'R' i 'F'. Mozete da dodate 'Q', za Query, pa da imate DoCmd.OpenQuery u funkciji OpenReport.
NIgde nisam stavio Error HAndling, koji je obavezan za sve aplikacije koje idu u produkciju.
Srecno