[ aburnaby @ 07.03.2005. 12:30 ] @
Pravim aplikaciju a Access-u za magacinsko poslovanje. Za pocetak imam magacinsku izdatnicu za goriva. Ona ima sledece atribute: Sifra_magacina, broj_magacinske_iazdatnice, br_radnog_naloga, datum, primio, magacioner, odobrio, konto, knjizio;
i naravno ima stavke, cija su obelezja: sifra_robe, naziv_robe, jed_mere, izdata_kolicina, putni_nalog.

Logicno, napravio sam dve relacije. Jedna relacija je zaglavlje izdatnice a druga stavka izdatnice i one su povezane relacijom 1:N. Problem je sta raditi sa radnicima? Znam da moram napraviti relaciju radnik medjutim foreign key te relacije u relaciji zaglavlje izdatnice se ponavlja nekoliko puta po jednoj instanci relacije izdatnica. Jedno od resenja je, pretpostavljam pravljenje relacije primio_izdatnica[id_radnik, id_izdatnica], magacioner[id_radnik, id_izdatnica], odobrio_izdatnica[id_radnik, id_izdatnica)... Ima li ovo smisla?

Ako gore pomenuti ima smisla zanima me kako na vec postojecu Formu koja sadrzi Formu Izdatnica i podformu Stavka dodati polja ciji izvor podataka su primio_izdatnica itd retrospektivno.

[ Zidar @ 07.03.2005. 15:53 ] @
Mozes li da nam objasnis u kakvoj su vezi radnici i izdatnice? Ako na jednu izdatnicu vezes vise radnika, zasto? Da li je 'magacioner 'radnik? Da li je 'odobrio' takodje radnik? Uh, sad vidim da se spominju i 'radni nalozi', pa konto, pa 'Knjizio'.
Bice tu jos dosta posla dok se sve raspetlja.

I molim te umesto 'relacija' koristi rec "tabela", lakse cemo se razumeti. Koristi rec 'relacija' za ono sto se u Accesu zove 'relationship'. Tesko je pratiti koja je relacija u kakvoj relaciji sa ostalim relacijama :-)
[ aburnaby @ 08.03.2005. 07:19 ] @
Jedan radnik, naravno, moze izdati vise izdatnica a izdatnicu moze
izdati samo jedan radnik, prema tome imamo kardinalitet relacije
izmedju izdatnice i radnik 1:N.

Nisam razumeo pitanje od Zidara, mislim na ono zasto. Ako se odnosi na
to da je potrebno imati (da li je?) tabele:
izdatnicu_primio(id_radnik, id_izdatnica)... mislim da su te tabele
potrebne ako se zeli pracenje transakcija koje je odobrio, ko primio,
ko izdao itd. U ostalom nisam siguran da je prvobitna ideja sa vecim
brojem istovetnih tabela (razlicitog naziva) dobra ideja. Neka
sugestija?
[ Zidar @ 08.03.2005. 14:35 ] @
Nigde nisam rekao da je tvoj dizajn los ili da ensto nije kako treba :-)

Pokusavam da shvatim celu pricu, da bih ti mozda pomogao. ja nisam knjigovodja ni blagajnik i ne znam kako mnogi procesi funkcionisu i mnogi strucni izrazi su mi strani. Zato potavljam pitanja, ne da bih kritikovao dizajn, nego da bih ja shvatio o cemu se radi. Recnik koji upotrebljavas otkriva nekoga ko zna sta govori i razume problem. Ja sam taj koji ne razume o cemu se radi i zato postavljam pitanja. Neka od njih ce ti svakako zvucati glupo, ali to je jedini nacin da uspostavimo potreban nivo komunikacije.



Ajde da napravimo inventar od onoga sto sam razumeo, a ti mi ispravi greske:

Ovo sto si mi odgovorio nema mnogo smisla, verujem da je neka greska u kucanju:
Citat:
Jedan radnik, naravno, moze izdati vise izdatnica a izdatnicu moze
izdati samo jedan radnik,

Molim te ispravi ili pojasni. Recenica protivreci sama sebi.

- Pratis ulaz i izlaz robe iz magacina (ma pametan sam k'o pcelca Maja)
- imas vise magacina i svaki ima svoju sifru
- Izdatnica je dokument na kome pise u zaglavlju ko je uzeo robu, iz kog magacine, ko je odobrio, ko je knjizio, datum cele transakcije (izdavanja robe)
- Izdatnica zaduzuje onoga ko je primio robu
- onaj ko izdaje robu zove se magaciomer
- magacionera moze da bude vise, ali samo jedan od njih moze da izda jednu konkretnu izdatnicu
- onaj ko prima robu zove se radnik. Da li robu sa jedne izdatnice prime (zaduzuje) vise radnika ili tacno jedan?
- U detaljima izdatnice pise koja je roba u pitanju, jedinica mere, kolicina i putni nalog. Proizilazi da svaka stavka (svaka roba) moze da ima razliciti putni nalog. Da li je ovo tacno sa putnim nalozima?

:-)



[ aburnaby @ 09.03.2005. 08:33 ] @
Da se nadovezem na protivrecnost:)
Jednu izdatnicu moze izdati samo jedan radnik (u nasem slucaju, magacioner) tj. ne moze je izdati vise radnika a jedan radnik (pojava entiteta radnik) moze izdati ni jednu, jednu ili vise izdatnica. IZDATNICA:RADNIK (1,1):(0,N).

Sve si dobro razumeo:) Inace, ni ja nisam strucan za magacinsko poslovanje.

- U detaljima izdatnice pise koja je roba u pitanju, jedinica mere, kolicina i putni nalog. Proizilazi da svaka stavka (svaka roba) moze da ima razliciti putni nalog. Da li je ovo tacno sa putnim nalozima? --- Jeste:)
[ izonic @ 09.03.2005. 17:29 ] @

Nadam se da cu pomoci

Evo ovo mi ne ide od ruke ima li neko da bi pomogao
[ Zidar @ 09.03.2005. 18:48 ] @
:-) E posto sam bar nesto razumeo, da probamo dalje:

Svaku izdatnicu moze da izda samo magacioner, a da je primi moze bilo koji radnik.
magacioner je radnik.
Svaki radnik nije i magacioner <=> samo neki radnici su magacioneri.

Ja bih npravio tabele:

tblRadnici (RadnikID = PK;Ime, Prezime ,......)

tblMagacini (magacinID;Naziv; Adresa; ,......)

tblMagacioneri (RadnikID = PK, FK na tblRadnici; MagacinID =FK na tblMagacini)
STOJ! Ovo trazi objasbnjenje. Ovako:
tblRadnici : tblMagacioneri = 1:1, (tacno, 1:1) gde je tblRadnici PARENT tabela. Drugim recima: tblRadnici : tblMagacioneri = 1:M, M=1
Znaci, da bi proglasio nekog radnika magacionerom, moras da dodas rekord u tabelu tblMagacioneri. Posto je tblRadnici parent tabela, ne moze da se unese magacioner koji nije radnik :-)

tblIzdatnice (IzdatnicaID=PK; Izdao = FK na tblMagacioneri; Primio = FK na tblRadnici; Datum; .......)

tblRoba (RobaID=PK; OpisRobe; JedMere; ......)

tblPutniNalozi (PutniNalogID=PK; Datum; Opisnaloga;......)

tblIzdatniceDetalji (RobaID, IzdatnicaID, kolicina, PutniNalogID)
PK=(RobaID, IzdatnicaID)
FK RobaID na tblRoba
FK IzdatnicaId na tblIzdatnice
FK utniNalogId an tblPutniNalog ????

Uostalom, probacu da zakacim attachment.

Kako realizovati sve na formi? - master forma = frmIzdatnica (zaglavlje izdatnice)Polja izdao, primio - da budu kombo boxovi, koji gledaju u tblradnici i tblMagacioneri respektivno. Slicno mozes da uradis sa Odobrio/Knjizio. Subforma subIzdatnicaDetalji, za upis robe. Ako radis samo za benzin, roba je poznata, benzin, pa moze da bude default value, i dozvoljavas samo jedan rekord itd itd...

Pogledaj primer, relationships window, kao ideju samo. Ono o putnom nalogu mi i dalje nije jasno, ali neka ti bude

:-)

:-)