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.
Kevo brate, chu te napucam familije mi!