Lekce 3.13
Spojenφ databßzφ do relace 1:N


p°edchozφ lekce (3.12) obsah kurzu

Pokud pot°ebujete propojit dv∞ databßze, kterΘ spolu logicky sv²mi ·daji souvisφ, m∙₧ete vyu₧φt jejich vzßjemnΘ propojenφ pomocφ relacφ. Jednß se nap°φklad o hlaviΦku faktury s ·daji o odb∞rateli, ke kterΘ mßte v dalÜφm souboru °ßdky faktury s uvedenφm fakturovan²ch polo₧ek. Obdobn∞ se m∙₧e jednat nap°φklad o cenφk s ·daji o zbo₧φ, ke kterΘmu m∙₧ete napojit databßzi s ·daji o pohybu zbo₧φ (p°φjem a v²dej).

VÜeobecn∞ platφ, ₧e relacemi lze propojit databßze, kterΘ majφ spoleΦnou klφΦovou polo₧ku. Ve v²Üe uveden²ch p°φkladech se jednalo o Φφslo faktury a Φφslo zbo₧φ. Hlavnφ (master) databßze nemusφ b²t nijak indexovßna. Pod°φzenß (detail) databßze musφ b²t indexovßna podle klφΦovΘ polo₧ky a uveden² index musφ b²t aktivnφ.

Pro vytvo°enφ relace musφme umφstit na formulß° dv∞ komponenty DataTable a DataSource a nastavit samostatn∞ jejich vlastnosti pro ob∞ databßze ji₧ znßm²m zp∙sobem. U druhΘ databßze musφme navφc vlastnostφ IndexName nastavit index, kter²m je databßze se°azena podle klφΦovΘ polo₧ky. V naÜem p°φpad∞ s fakturou to musφ b²t index °azenφ podle Φφsla faktury. Ve vlastnosti MasterFields potom zadßme klφΦovou polo₧ku (polo₧ku databßze), ve kterΘ se hledß stejnß hodnota jako je nastavena v hlavnφ databßzi. Poslednφm krokem je nastavenφ vlastnosti MasterSource, kde zadßme zdroj dat (komponentu DataSource) hlavnφ databßze. Data m∙₧eme zobrazovat nap°φklad komponentami DataGrid.

P°i propojovßnφ databßzφ do relacφ byste m∞li postupovat dßle uveden²m zp∙sobem, kde je uveden p°φklad propojenφ databßzφ hlaviΦky faktury s databßzφ °ßdek faktur. P°edpoklßdß se, ₧e pod°φzenß databßze je ji₧ indexovßna podle Φφsla faktury.


--------------------------------------------
komponenta      vlastnost      zadanß hodnota
--------------------------------------------
DataTable1      TableName      FAKT_HLA.DBF
DataTable1      Active         True
DataSource1     DataSet1       DataTable1
DataGrid1       DataSource     DataSource1
DtaNavigator1   DataSource     DataSource1

DataTable2      TableName      FAKT_RAD.DBF
DataTable2      Active         True
DataSource2     DataSet2       DataTable2
DataGrid2       DataSource     DataSource2

DataTable2      IndexName      FAKTURA
DataTable2      MastterFields  Faktura
DataTable2      MasterSource   DataSource1
-------------------------------------------
Pokud prob∞hne vÜe v po°ßdku, spojφ se ob∞ databßze do relace a p°i zm∞n∞ pozice v hlavnφ databßzi budou u pod°φzenΘ databßze zobrazovßny pouze zßznamy odpovφdajφcφ zßznamu nad°azenΘ databßze.
p°edchozφ lekce (3.12) obsah kurzu

OZOGAN, 1 Mßje 97, 460 01 Liberec
tel.,fax: (048) 52 28 338, e-mail: info@ozogan.cz