Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem MS Access - problém s propojením tabulek

Zdravím
Nefunguje mi relace mezi tabulkami.
Hodím sem obrázek:
jzk
Snad z něj pochopíte, o co mi jde.
Žánr, stanice i země původu mají datový typ Short Text.
U jednotlivých stanic se mi vytvoří takové malé +, ale ho když chci rozkliknout, hodí mi to tento error:
jz9
Prosím, může mi někdo poradit, co dělám špatně?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Píše to problémy s výrazem. Zkontroluj si: 1. typ pole ID u tabulky Žánr 2. propojení seriály-žánr,…
Jan Fiala 01.03.2015 13:04
Jan Fiala
Mohl by jsi mi načrtnout jednoduché schéma propojení? nový
anonym358 01.03.2015 13:18
anonym358
Nová tabulka ZanrVazba (IDPoradu, IDZanru) vazby porady.ID -> ZanrVazba.IDPoradu Zanr.ID -> ZanrVazb… poslední
Jan Fiala 01.03.2015 16:37
Jan Fiala

Píše to problémy s výrazem. Zkontroluj si:
1. typ pole ID u tabulky Žánr
2. propojení seriály-žánr, zda je opravdu ID - ID
3. zda máš správně naplněnu tabulku Žánr - opravdu tam existují všechna ID, která jsou v tabulce seriály?

Doporučení:
1. vyhni se diakritice a mezerám v názvům tabulek a polí, i když to Acceess (i jiné databáze) umožňuje, nedělá se to. Pak musíš jako magor pořád zavírat vše do hranatých závorek a některé věci ti nemusí fungovat.
2. pro ID se obvykle používá nějaký z rodiny typů INTEGER. Důvod? Je to mnohem rychlejší. Porovnávání čísel je vždy rychlejší než porovnávání textu.

Připomínka k návrhu:
Počítáš s tím, že jeden film je pouze jeden žánr, ale to tak zhruba v 50% případů neplatí. Romantický thriller, Detektivní horor atd.
Standardně se to dělá tak, že se vytvoří tabulka žánrů + tabulka vazeb, která umožní na jeden záznam v tabulce pořadů navázat několik žánrů. Pokud to dělaáš jako nějaký jednoduchý školní projekt, pak to neřeš.

Nová tabulka ZanrVazba (IDPoradu, IDZanru)
vazby
porady.ID -> ZanrVazba.IDPoradu
Zanr.ID -> ZanrVazba.IDZanru

To ti umozni mit navazanych vice zanru na jeden porad.
Ty to mas porady.Zanr -> zanr.id, coz ti umozni jen jeden zanr pro porad.

Pole, ktera slouzi pro propojovani bys mel v tabulce poradu pojmenovavat, by bylo jasne, ze jde o propojeni (ID). Napr. IDZanru, IDStanice, IDZemePuvodu. Kdyz tam napises [zeme puvodu], tak to vypada, ze tam je skutecne zeme a ne vazba na dalsi tabulku. Ale to nema na funkcnost vliv, je to jen pro prehlednost.

Zpět do poradny Odpovědět na původní otázku Nahoru