|
![]() | RelaΦn∞ propojenΘ tabulky | Vztah M:N | ![]() |
Propojovacφ sloupce A
a B
jsou stejnΘho typu a propojujφ dva zßznamy prßv∞ tehdy, pokud v nich majφ stejnou hodnotu. Na propojenφ zßznam∙ v tomto vztahu lze hled∞t t°emi zp∙soby a vÜechny t°i zp∙soby lze libovoln∞ kombinovat.
Spojenφ tabulek
Pomocφ dotazu SELECT * FROM TA, TB WHERE TA.A=TB.B
lze zφskat celkov² p°ehled o vÜech vazbßch mezi zßznamy. Ve formulß°i do odpov∞di na tento dotaz:
Formulß° na propojenφ od TA k TB
V formulß°i vedoucφm do tabulky TA
(nebo do dotazu, kter² z nφ bere zßznamy) lze vytvo°it relaΦn∞ propojen² subformulß° se zßznamy z tabulky TB
. V ka₧dΘm zßznamu z TA
budou v subformulß°i ty zßznamy z TB
, kterΘ jsou k n∞mu p°ipojenΘ.
Subformulß° navrhnete do tabulky TB
. P°i navrhovßnφ hlavnφho formulß°e do TA
v popisu slo₧ky Subpohled zadßte krom∞ jmΘna subformulß°e:
A
a V²b∞rovß podmφnka bude sloupec B
resp. v²raz B=%
.Vklßdßnφ zßznam∙ s propojovßnφm
V hlavnφm formulß°i (superformulß°i) lze vklßdat zßznamy do TA
nebo je ruÜit. V subformulß°i lze vklßdat zßznamy do TB
nebo je ruÜit. Pokud vlo₧φte zßznam do TB
stiskem klßvesy Insert, pak se v n∞m do sloupce B
zapφÜe hodnota sloupce A
z vybranΘho zßznamu v hlavnφm formulß°i. Tφm automaticky vznikne propojenφ mezi zßznamem vlo₧en²m do subformulß°e a zßznamem, v n∞m₧ se subformulß° nachßzφ. (Tento mechanismus vÜak funguje pouze tehdy, je-li v²b∞rovß podmφnka subformulß°e ve v²Üe uvedenΘm tvaru.)
Tento zp∙sob prßce je velmi nßzorn². Hodφ se zejmΘna pro "siln∞jÜφ" verzi vztahu 1:N, v nφ₧ v TB
neexistujφ zßznamy, kterΘ by nepat°ily k ₧ßdnΘmu zßznamu v TA
. Pomocφ subformulß°e nelze toti₧ zßznam v TB
"odpojit" od zßznamu v TA
(leda p°epsßnφm hodnoty sloupce B
), ani "p°ipojit" ji₧ existujφcφ, ale dosud nep°ipojen² zßznam z TB
.
Sloupec A
musφ mφt v zßznamech v TA
unikßtnφ hodnoty. Toho lze dosßhnout nap°φklad automatick²m p°id∞lovßnφm unikßtnφch hodnot zajiÜt∞n²m v nßvrhu tabulky TA
.
SamostatnΘ formulß°e
Alternativn∞ je mo₧no zobrazovat zßznamy z TB
v samostatnΘm formulß°i, nevlo₧enΘm do hlavnφho formulß°e, n²br₧ otevφranΘm tlaΦφtkem s akcφ Otev°φt relaΦn∞ synchronizovan² formulß°. Parametry tΘto akce jsou jmΘno formulß°e do TB
a jmΘno propojujφcφ relace.
Formulß° na propojenφ od TB k TA
V formulß°i vedoucφm do tabulky TB
(nebo do dotazu, kter² z nφ bere zßznamy), lze vytvß°et propojenφ na zßznamy z TA
. Lze tak Φinit dv∞ma cestami:
TA
a po vybrßnφ n∞kterΘ polo₧ky provßdφ p°epis hodnoty sloupce A
do sloupce B
;TA
(a p°φpadn∞ subformulß°e, kter² obsahuje prßv∞ p°ipojen² zßznam z TA
). JmΘno relace mezi TA
a TB
se uvede v parametrech akce otevφrajφcφ relaΦnφ formulß°.Hlavnφ formulß° do TB
umo₧≥uje vklßdßnφ a ruÜenφ zßznam∙ v TB
. Pomocφ relaΦnφho formulß°e lze takΘ vklßdat a ruÜit zßznamy v TA
. Lze pracovat i se zßznamy z TB
, kterΘ nejsou spojeny s ₧ßdn²m zßznamem z TA
. Propojovat lze i fiktivnφ zßznam v TB
, propojenφ se pak zapφÜe do databßze p°i opuÜt∞nφ zßznamu.
RelaΦnφ formulß° se z programu dß otev°φt funkcφ Relate_records
.
![]() | RelaΦn∞ propojenΘ tabulky | Vztah M:N | ![]() |