[ tranzik @ 20.01.2004. 12:32 ] @
Pomagajte ako mozete!!!
Prvi put radim u Access-u, mada imam nekih iskustava u radu sa bazama.

Imam tabelu 'radnik', u kojoj stoje svi podaci o radnicima i dve 'pomocne' tabele:
'odeljenje' (sadrzi samo spisak odeljenja: naziv i sifra. nema kljuc, ali je za sifru

dodeljeno 'Indexed (no duplicates-da ne bi bilo vise odeljenja sa istom sifrom)) i
'radno mesto' (sadrzi samo vrstu posla koji obavlja: naziv i sifra. nema kljuc, ali je

za sifru dodeljeno 'Indexed (no duplicates-da ne bi bilo vise radnih mesta sa istom

sifrom))
Obe tabele su povezane sa tabelom radnik vezama 1:beskonacno.
problem nastaje kada pri unosu podataka zelim da postavim da postoji vise radnika na

istom odeljenju koji obavljaju istu funkciju, npr. postoji vise prodavaca. Access mi

izbacuje gresku da to ne moze jer ce biti duplikata u kljucu, indexu ili vezi

(relationship).
Nijedna pomocna tabela nema primarni kljuc, sifre su bile primarni kljucevi ali sam ih

izbacio da se Access ne bi zaglupio, ali nista ne pomaze.
Ne vidim logiku, da li to Access pravi glupposti ili sam nesto propustio???
[ Goran Aničić @ 20.01.2004. 22:53 ] @
Samo u tabeli 'Radnik' odredi da ti je 'sifra' primarni kljuc, kao i u ostale ove dve tabele, i neće biti problema
[ Zidar @ 21.01.2004. 14:03 ] @
Ovako:

Tabela Radnik treba da ima PK, recimo SifraRadnika. Treba da ima i jos barem dva polja, SifraOdeljenja i SifraRadnogMesta.

U tabeli Radnik NE SME da bude Unique Index za kombinaciju polja (SifraOdeljenja, SifraRadnogMesta). Takodje, u tabeli Radnik NE SME da bude UNIQUE index ni na jednom od polja SifraRadnogMesta i SifraOdeljenja.


Ako si u bilo kojoj tabeli postavio neko polje ili kombinaciju polja na UNIQUE to je potpuno isto kao da si postavio Primary Key. Prema tome, tvoje tabele Odeljenje i RadnoMesto u stavrnosti IMAJU PK i to je dobro i ostavi to tako. Vidi sta biti odgovaralo za PK u tabeli Radnik (Maticni broj?) ili jednostavno uvedi neku SifruRadnika, moze i autonumber i proglasi to za PK. Zavisno od pravila koje vaze u toj firmi, mozes da razmotris jedinstvenost sledecih kombinacija polja u tabeli Radnik:

(SifraRadnika, SifraRadnogMesta) - Unique <=> svaki radnik moze da radi na samo jednom radnom mestu
(SifraRadnika, SifraOdeljenja) - Unique <=> svaki radnik moze da radi samo u jednom odeljenju


:-)
[ tranzik @ 21.01.2004. 15:11 ] @
:) radi
hvala na pomoci.
stavio sam index (no duplicates) u pomocnim tabelama, ali i u tabeli radnik, pa me je to blokiralo.