[ srdrazic @ 13.05.2013. 22:15 ] @
Postoji li negde primer da se sa listbox-a otvaraju reporti koji su kreirani iz query-a sa dva parametra (opština,grad)?

Da pojasnim,

1) na formi imam listbox ili combobox sa spiskom izveštaja za štampu,
2) kada selektujem neki izveštaj komandnim dugmetom otvaram formu sa dva combobox-a,
3) U jednom combobox-u je recimo izbor Opštine a u drugom Grad (to su ujedno parametri po kome treba da se filtriraju podaci u izveštaju)
4) Kada kliknem na drugo komandno dugme na ovoj drugoj formi da otvori selektovani izveštaj u print preview prikazu.
[ FOX028 @ 14.05.2013. 06:17 ] @
moze se to odraditi, nisam naisao na neki konkretan primer ali mozes okaciti tu tvoju bazu pa da odradimo odmah u njoj.
[ srdrazic @ 14.05.2013. 16:31 ] @
Izvinjavam se nisam bio u prilici ranije da okačim bazu.

U bazi sam prikazao kako bi to otprilike trebalo biti.
[ SLOJ.1973 @ 14.05.2013. 18:16 ] @
Mozda ovako.Pozdrav.
Drugi primer je da otvara različite Reporte u zavisnosti koji je izabran iz liste na Form1.
[ srdrazic @ 14.05.2013. 19:02 ] @
To je to, jedva sam shvatio ovaj drugi primer, selektovani report na lisbox je postavljen na dblclick, ja sam ga stavio na onclick.

Hvala SLOJ.1973 na pomoći.

Da li onaj modul "modJavnaPromenljiva" radi nešto, pošto je prazan? Smem li ga izbrisati?
Usput još da pitam, ukoliko imam report sa subreportom, kako na listbox-u mogu izbeći da mi se prikazuju subreport?
Pozdrav
[ SLOJ.1973 @ 14.05.2013. 19:14 ] @
Jesi li siguran da je prazan? Tu ti je smeštena promenljiva KojiReport,koja se puni na dblClick na listu izvestaja,pa onda se koristi kroz select case naredbu,da bi znao koji report treba otvoriti.
[ srdrazic @ 14.05.2013. 19:31 ] @
Option Compare Database

Public KojiReport As String


Legenda si nisam ovo primetio, obično su moduli krcati redovima pa nisam obratio pažnju.

Sad pomalo uviđam nedostatak ove moje zamisli da štampam sa liste reporta.
Kako da pozovem , recimo, neku drugu grupu reporta koji se izvršavaju samo uz uslov "opština" a ja sam u listbox postavio sql da mi izlista bez razlike sve reporte.
Tu mi prave problem i sub reporti koji mi ne trebaju na list box-u.
Kako da ih izostavim?
Postoji li varijanta štampe reporta iz spiska napisanih u tabeli pa da selektovanjem naziva reporta iz tabele pozivam reporte?

[ SLOJ.1973 @ 14.05.2013. 19:43 ] @
Jedino što mi za sada pada napamet jeste da svaki subreport nazoveš subPanekinaziv i onda da u uslovu iz MsysObject tabele postavis Not Like "~*" And Not Like "MSys*" And Not Like "sub" & "*"
[ srdrazic @ 14.05.2013. 19:47 ] @
Za sub reporte ovo radi isto tako ću napraviti i za grupe izveštaja, dodaću im neki prefix pa ga staviti u slov kao i "sub". Ili možda probati dodati još jedan combobox sa grupom reporta? Da li je to moguće?
Dobra ideja hvala SLOJ
[ Zidar @ 16.05.2013. 16:59 ] @
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





[ srdrazic @ 16.05.2013. 20:56 ] @
Ih bre Zidar, a ja mislio da sam završio posao . Jeste da mi je palo na pamet da se iz tabele biraju reporti ali sa svojim skromnim znanjem nisam to mogao izvesti.
Ovo mi baš izgleda kompletno još da ovo sve ubacim na mesto pa da radi, biće odlično.

Hvala Zidar na rešenju a isto tako i SLOJ.1973 i njegovo rešenje mi je bilo dobrodošlo.
[ srdrazic @ 16.05.2013. 21:43 ] @
A kako da otvorim report samo da mi filtrira po opštinama?
Hoću li morati za svaki report koji treba parametre praviti i novu formu?
Neki će se podaci filtrirati preko Opštine a neki preko Opštine i KO.
[ SLOJ.1973 @ 17.05.2013. 07:17 ] @
Ovako mozda>
[ srdrazic @ 17.05.2013. 07:57 ] @
Jeste, to je to. Što bi Đuro iz nadrealista rekao " a đe si to pip'no? "
Nisam baš vičan onim apostrofima .
Hvala SLOJ.1973 još jednom.
[ SLOJ.1973 @ 17.05.2013. 08:06 ] @
Evo ovde
Umesto
Code:
strWhere = "OPstina = Me!cboOpstina.Column(0) 

treba
Code:
strWhere = "OPstina = '" & Me!cboOpstina.Column(1) & "'"

[ vladpop @ 26.05.2013. 18:36 ] @

Evo jednog odličnog primera baš za to što si tražio