Access - Relace N:N

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Odpovědět
Uživatelský avatar
souluk
Level 1
Level 1
Příspěvky: 66
Registrován: 27 čer 2012 22:39

Access - Relace N:N

Příspěvek od souluk »

Potřeboval bych, prosím, poradit s relací N:N.

V Accessu mám vytvořené tabulky:

pacienti
návštěvy
léky


Tabulku pacienti, kde mám: ID (primární klíč), jméno a příjmení, mám propojenou s tabulkou návštěvy, kde mám: ID, datum návštěvy a číslo léku. Pomocí relace 1:N jsem tedy spojil ID z tabulky pacientů s ID v tabulce návštěvy. Pokud si pak v tabulce pacienti rozkliknu nějaké jméno, zobrazí se datum návštevy a číslo léku. Když pak ale spojím číslo léku z tabulky návštěvy s číslem léku (primární klíč) v tabulce léky, kde je mimo jiné název a cena léku, po kliknutí na nějaký lék v tabulce léky se zobrazí prázdné ID s prázdným datem návštěvy.

Obrázek

Neví někdo, kde je chyba?
Štučka
Level 2.5
Level 2.5
Příspěvky: 279
Registrován: 31 srp 2012 19:51

Re: Access - Relace N:N

Příspěvek od Štučka »

Chyba je, že pole ID v tabilce Návštevy není primární klíč. Se mi podařilo.
Přílohy
AccessDatabase.jpg
geniusz
nováček
Příspěvky: 18
Registrován: 05 bře 2013 12:49

Re: Access - Relace N:N

Příspěvek od geniusz »

Tabulky by měly obsahovat tyto pole

Tabulka Pacienti:
IdPacienta (Primární klič, Automatické číslo)
Jmeno
Prijmeni

Tabulka Navstevy:
IdNavstevy (Primární klič, Automatické číslo)
IdPacienta
DatumNavstevy
CisloLeku

Tabulka Leky:
CisloLeku (Primární klič, Automatické číslo)
NazevLeku
CenaLeku

Tímto každá návštěva bude unikátní. Pacient muže mít několik návštěv a při každé návštěvě obdrží nějaký lék. pro možnost více léku při jedné návštěvě bude třeba v průvodci vyhledávaní vybrat možnost pro více hodnot. Nedoporučoval bych ale pracovat následně jako uživatel v tabulkách ale ve formulářích a doporučil bych přidat ještě jednu tabulku VydaneLeky.
Struktura tabulek by byla následující

Tabulka Pacienti:
IdPacienta (Primární klič, Automatické číslo)
Jmeno
Prijmeni

Tabulka Navstevy:
IdNavstevy (Primární klič, Automatické číslo)
IdPacienta
DatumNavstevy

Tabulka Leky:
CisloLeku (Primární klič, Automatické číslo)
NazevLeku
CenaLeku

Tabulka VydaneLeky:
IdVydejeLeku (Primární klič, Automatické číslo)
IdNavstevy
CisloLeku

Pomoci dotazů se pak dají různé přehledy
Odpovědět

Zpět na „Kancelářské balíky“