Relate_record

Internφ programovacφ jazykC/C++Pascal

function Relate_record(var relation1, viewdef : string; base : tcursnum; flags : integer; var hView : window_id; var relation2 : string) : window_id;
window_id Relate_record(const char *relation1, const char * viewdef, tcursnum base, uns32 flags, void *reserved, window_id * hView, const char *relation2);
function Relate_record(relation1, viewdef : PChar; base : tcursnum; flags : uns32; var reserved; var hView : window_id; relation2 : PChar) : window_id;

Parametry

relation1 jmΘno relace (prvnφ relace pro M:N)
viewdef specifikace formulß°e, kter² mß b²t otev°en
base otev°en² kurzor nebo konstanta NO_REDIR
flags p°φznaky
reserved procedura vyhrazenß pro budoucφ pou₧itφ, zadejte NULL resp. NIL;
hView vracφ identifikaci (handle) otev°enΘho formulß°e;
relation2 jmΘno druhΘ relace nebo NULL resp. NIL pro 1:N

Popis

Funkce Relate_record slou₧φ k editaci relace 1:N nebo M:N mezi dv∞ma tabulkami. Jedna z t∞chto tabulek musφ b²t zp°φstupn∞na aktivnφm formulß°em, druhß tabulka formulß°em zadan²m parametry viewdef a base. Je-li parametr relation2 roven NULL (NIL), pak jde o vztah 1:N, obsahuje-li jmΘno relace, jde o vztah M:N zadan² dvojicφ relation1 a relation2 (detaily viz kapitola Vytvß°enφ aplikacφ).

Funkce (zavolanß nap°. stiskem tlaΦφtka) otev°e na obrazovce formulß° specifikovan² parametrem viewdef p°φpadn∞ p°esm∞rovan² na kurzor zadan² parametrem base (pokud tento nenφ roven NO_REDIR) a umo₧nφ u₧ivateli, aby vybral jeden zßznam (nenφ-li zadßn parametr relation2) nebo mno₧inu zßznam∙ (je-li zadßn parametr relation2). Zßznam se vybere stejn²m zp∙sobem jako p°i p°ivazovßnφ zßznam∙ k ukazateli, tedy stiskem tlaΦφtka v levΘ Φßsti formulß°e. P°i vybrßnφ resp. zruÜenφ vybrßnφ zßznamu funkce propojuje resp. ruÜφ propojenφ: bu∩ zapisovßnφm hodnot do spojovacφho sloupce (1:N) nebo vklßdßnφm a ruÜenφm zßznam∙ ve spojovacφ tabulce (M:N).

Parametrem hView m∙₧e b²t bu∩ konstanta NULL (NIL ve vnit°nφm jazyce, NULL_WINDOW_ID v Pascalu), nebo prom∞nnß. V druhΘm p°φpad∞ funkce zapφÜe do tΘto prom∞nnΘ identifikace otev°enΘho formulß°e a tuto prom∞nnou si zapamatuje. Jakmile bude formulß° uzav°en, WinBase602 zapφÜe do tΘto prom∞nnΘ nulu. Dφky tomu m∙₧e program snadno zjistit, ₧e u₧ivatel uzav°el tento formulß°.

Funkce se b∞₧n∞ volß stiskem tlaΦφtka ve formulß°i. Odpovφdß akci Otev°φt relaΦnφ formulß°.

Hodnota funkce

Pokud se poda°φ formulß° otev°φt, funkce vracφ jeho identifikaci nebo hodnotu 1, jde-li o modßlnφ formulß°. P°i chyb∞ vracφ nulu.