|
[ SunTzu @ 08.06.2005. 14:53 ] @
| Cao svima,
Naisao sam na sledeci problem:
Moj report se sastoji iz Detail dela koji vuce podatke iz parametarskog query-a. Dva subreporta (header i footer) takodje vuku podatke iz parametarskih query-a. Pri tom su sva tri Query-a razlicita a parametar je svuda isti (JMBP - jedinstveni maticni broj porodice). Nisam mogao drugacije da dizajniram report i sada dobijem tri parametarska prompta umesto jednog. Kako da omogucim da posle prvog unosenja parametra ostala dva query-ja (tj. subreporta) takodje iskoriste isti podatak.
Video sam na forumu slican problem sa formama i pretpostavljam da u nekom event-u treba zadati putanju do parametra, ali mi sve to izgleda "siroko a daleko". Moze li neko uputstvo ili par linija koda?
Hvala i pozdrav! |
[ Zidar @ 08.06.2005. 18:10 ] @
Elieminisi parametre potpuno. Parametri u kverijima su samo quick & dirty metod filtriranja podataka. Za forme i reporte, postoje drugi nacini da se filtriraju rekordi, najcesce komandom DoCmd.
Oisi nam problem malo sire. Izgleda da je report dosta komplikovan (dva subreporta). Mozda moze jednostavnije?
[ SunTzu @ 09.06.2005. 13:10 ] @
Hvala na pomoci!
E sad ce da izadje va videlo nakaradni dizajn:
Radim bazu podataka o izdatim materijalnim obezbedjenjima porodice, za centar za socijalni rad.Imam dve tabele: Korisnici i Resenja. Primary key korisnika je njegov redni broj(autonumber).Mislim da ovde JMBG nije resenje iako je jedinstven i mora se uneti u tabelu. Ova tabela sadrzi dvevrste korisnika: Nosioce prava(osoba u porodici na koju se vodi pomoc i izdaje resenje) i ostale clanove porodice koji takodje primaju pomoc. Nosilac je identifikovan u posebnom polju tabele koje moze imati dve vrednosti "korisnik" i "nosilac". Bitno je znati da postoji i JMBP, sto je
jedinstveni maticni broj porodice,isti za svakog clana porodice i takodje se nalazi kao polje tabele Korisnici. Napominjem da nosilac nije isti jednom za svagda, posto ljudi umiru, nalaze posao, tako dase desava da porodica promeni nosioca prava u toku primanja ove vrste pomoci.
Tabela resenja predstavlja evidenciju izdatih resenja.Povezana je sa tabelom Korisnici preko rednog broja korisnika (ID_Korisnik), da budem jasniji:
Korisnici->Resenja==1->Many. Ovo je potrebno posto se periodicno vrsi revizija ove vrste pomoci i dvaput godisnje se izdaju resenja, tj. na jednog korisnika ide vise resenja. Valja zapaziti da resenje uvek ostaje u okviru porodice, tj. i ako se promeni nosilac prava, stari i novi nosilac ce imati isti JMBP. Mislim da je postojala druga mogucnost, da se napravi Many->Many veza izmedju tabela gde bi key bio JMBP. U vreme kad sam pocinjao da pravim bazu to mi se cinilo previse komplikovano, ne znam sta je objektivno bolje.
Sta je jedna od svrha baze: Da za zadati JMBP (dakle za porodicu) izda resenje o odobravanju pomoci. POtrebno je izlistati sve clanove porodice gde bi Nosilac bio na prvom mestu a ostali clanovi porodice za njim. Ovo bi bilo u detail sekciji izvestaja i svi ti podaci dolaze iz tabele Korisnici. Ovo naravno, nije problem.
U Headeru izvestaja (koji ne sme biti duzi od jedne strane) se pojavljuje potreba za kombinovanjem podataka Nosioca prava (tabela Korisnici) i podataka iz tabele Resenja(datum izdavanja, datum prestanka,suma,...) a sve za uneti JMBP. Tu sam postavio subreport koji prokazuje podatke iz parametarskog Query-a. Query za zadati JMBP trazi u tabeli Korisnici Nosioca prava i za tog nosioca prikazuje trazene podatke iz tabele Resenja, gde se iz tabele resenja vadi poslednje resenje (vazece). Imao sam problema i saprikazivanjem poslednjeg resenja, ali sam ga "nasao" ukljucivsi totals u query i trazeci Max(ID_Resenje). Ako treba mogu ovo malo detaljnije da opisem, mada sam ubedjen da sam i ovo nespretno resio.
Slican problem imam i u Footeru izvestaja gde opet koristim subreport u istu svrhu (Pokusao sam da koristim podatke iz postojeceg Header subreport-a, ali nesto nije htelo). Sve u svemu eto kako mi se vise puta trazi da unesem jedan te isti JMBP!
Da rezimiram: Kako u report-u prikazati Sve korisnike, Nosioca i poslednje resenje izdato za zadati JMBP (gde JMBP nije key nijedne tabele)? Korisnici i nosilac idu u Detail, Nosilac i poslednje resenje i u Header i u Footer.
POZDRAV!
P.S. Ja ovo radim drugarski, na dobrotvornoj i dobrovoljnoj osnovi i ovo je prva baza koju u zivotu radim. Pre ovoga nisam video ni SQL ni Access ni VBA. Nije mi jasno kako se neko u ministarstvu rada, socijalne itd... nije setiio da napravi standardizovanu aplikaciju koju bi svi centri koristili. Relativno mali posao a lepa stvar. Ako bi neko trece lice krenulo da radi neku ne-COBOL aplikaciju, mislim da bi se odralo od para! Ovo je sugestija onima koji se bazama bave ozbiljno. Ja samo pokusavam da nesto novo naucim.
[ Zidar @ 09.06.2005. 14:09 ] @
:-)
Za nekoga ko kaze "Pre ovoga nisam video ni SQL ni Access ni VBA." Odlicno se snalazis i ne izgledas kao novajlija za ovaj posao.
Tek sam procitao tvoju poruku i trebace mi da se malo udubim u problem. na prvi pogled, dizajn tabela mi ne izgleda lose. (Ovo potvrdjuje da o ovom poslu znas vise nego sto se cini :-)
Kostrukcija reporta nije sjajna (na prvi pogled) ali dizajn baze mislim da omogucuje pouzdano resenja. Mislim da cu moci do kraja dana (moje vreme kasni 6 sati za tvojim) da nesto vise napisem, u najgorem slucaju sutra.
Kad namestimo dizajn baze i par osnovniih kverija onda mogu da se ukljuce pametni momci sa forume, pa da napravite posao ako bog da.
[ Zidar @ 09.06.2005. 14:34 ] @
Imam neka pitanje.
Prvo kazes Citat: Ovo je potrebno posto se periodicno vrsi revizija ove vrste pomoci i dvaput godisnje se izdaju resenja, tj. na jednog korisnika ide vise resenja. Valja zapaziti da resenje uvek ostaje u okviru porodice, tj. i ako se promeni nosilac prava, stari i novi nosilac ce imati isti JMBP.
pa onda malo nize kazes
Citat: Sta je jedna od svrha baze: Da za zadati JMBP (dakle za porodicu) izda resenje o odobravanju pomoci. POtrebno je izlistati sve clanove porodice gde bi Nosilac bio na prvom mestu a ostali clanovi porodice za njim. Ovo bi bilo u detail sekciji izvestaja i svi ti podaci dolaze iz tabele Korisnici. Ovo naravno, nije problem.
Iz drugoga sledi da se ne izdaje resenja svakom korisniku ponaosob, nego se resenje izdaje porodici, a u resenju se ispisuju svi clanovi porodice, sa nosiocen ma celu. Medjutim, u prvom citatu kazes da se resenje izdaje korisnicima. Kontradikcija je ocigledna. meni se cini da je drugi iskaz logican (Resenje se izdaje porodici, a clanovi se navode u resenju) Da li sma ovo dobro shvatio?
Ovo je kljucno pitanje, molim te odgovori mi sto pre.
:-)
[ SunTzu @ 12.06.2005. 22:33 ] @
Zidar, hvala veliko na pomoci!
Bio sam odsutan par dana, ali evo opet sam za masinom.
Sto se kontradikcije tice, nisam pravnik ali da probam da razjasnim:
"Resenje se izdaje nosiocu prava koji ga je ostvario za sebe i clanove svoje porodice." Obicnim jezikom receno: izdaje se porodici s tim sto se na prvom mestu pojavljuje nosilac prava. Da ne duzim: Drugi iskaz je logican i zaista si to odlicno primetio. Hvala!
Sto se tice mog rada u Access-u. Radim nekih mesec i po,dva i mogu da kazem da mi je ovaj forum mnoooogo pomogao u tome. Pratim par foruma na ES-u, ali nigde nisam jos video takvo angazovanje i moderatora i clanova, kao sto je to slucaj na Access forumu. Ovde zaista sve vrvi od korisnih saveta. Sto se tice VBA sa njim zaista nemam nikakve veze, i iskreno receno - "pokusavam da ga ne naucim" s obzirom da pocinjem sa Javom pa ne bih bas voleo da mesam stvari. SQL mi se cini relativno lakim i nasao sam neki tutorijal na srpskom. Zaista ne mogu da se setim linka sada, mada mislim da je autor izvesni univerzitetski profesor. Pored toga nasao sam i par izvrsnih linkova za pocetnike u Access-u. Cim nadjem malo slobodnog vremena (zaista ne znam gde cu pre od posla) postovacu te sitnice, mislim da mogu biti korisne, a ne secam se da sam ih prilikom pretrage ES-a vidjao.
Jos jedared,
POZDRAV!
[ Zidar @ 13.06.2005. 16:05 ] @
E dobro je da smo se razumeli. Evo ti jedan primer kako bi cela stvar mogla da izgleda. Nema parameter kverija i ima dve tri stvarcice vise, tek da dobijes ideju sta bi moglo da se radi. Ako ti zatreba pomoc, tu smo.
:-)
[ SunTzu @ 14.06.2005. 21:28 ] @
Bombona!
Upravo ono sto sam trazio. Hvala na idejama. Nikad mi ne bi palo na pamet da iz forme
startujem izvestaj, niti da se sluzim access-ovim dugmicima za sortiranje (koliko god ocigledno bilo). Ja imam samo dve tabele i zaista nisam imao potrebe da umecem vise njih. Bez obzira, jos jedna ideja za neku novu aplikaciju.
Hvala!
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|