602SQL-┌plnß dokumentace Index   Tisk  

Sdφlenφ zdroje dat (kurzoru) a vyrovnßvacφch pam∞tφ ve formulß°φch

Otevφrßte-li dalÜφ formulß°e akcφ Otev°φt na stejn² zßznam nebo otevφrßte-li dalÜφ formulß°e z programu funkcφ Open_view s pou₧itφm p°φznaku PARENT_CURSOR, pak p∙vodnφ a nov∞ otevφran² formulß° budou sdφlet stejn² kurzor i vyrovnßvacφ pam∞ti pro komunikaci s databßzov²m serverem. Zm∞ny provßd∞nΘ v jednom z formulß°∙ se automaticky promφtnou do vÜech ostatnφch. Kurzor se zav°e a₧ po uzav°enφ vÜech t∞chto formulß°∙.

Pozor: Podmφnkou tohoto zp∙sobu prßce je, ₧e kurzor v²chozφho formulß°e obsahuje vÜechny sloupce pou₧itΘ ve vÜech dalÜφch formulß°φch - jinak se formulß°e nepoda°φ otev°φt. ZruÜenΘ zßznamy se mohou zobrazovat bu∩ ve vÜech formulß°φch nebo v ₧ßdnΘm z nich.

Promφtßnφ zm∞n z formulß°e do formulß°e bez sdφlenφ kurzoru a vyrovnßvacφ pam∞ti

Otev°ete-li dva formulß°e vedoucφ (zΦßsti nebo zcela) do stejn²ch dat a nepou₧ijete-li p°itom akci Na stejn² zßznam otev°φt (modßlnφ) formulß° ani volßnφ funkce Open_view s parametrem PARENT_CURSOR, pak se 602SQL nedokß₧e automaticky postarat o p°enßÜenφ zm∞n z jednoho formulß°e do druhΘho. D∙vodem k volb∞ tohoto °eÜenφ je zpravidla situace, v nφ₧ se nedß v obou formulß°φch pou₧φt stejn² kurzor.

Pokud u₧ivatel provede zm∞ny v formulß°i nesdφlejφcφm kurzor, ostatnφ formulß°e se o nich nemohou dozv∞d∞t d°φve, dokud nejsou zaznamenßny do databßze. Pokud tedy dva formulß°e vedou do stejn²ch dat, m∙₧e se stßt, ₧e zm∞ny provedenΘ v jednom z nich nejsou v druhΘm vid∞t. Jak tedy p°enΘst zm∞ny mezi formulß°i?

Mo₧n²ch °eÜenφ promφtnutφ zm∞n je n∞kolik. Nejprve je nutno zajistit p°epsßnφ zm∞n z vyrovnßvacφ pam∞ti formulß°e do databßze n∞kterou z t∞chto metod:

  1. specifikovat slo₧kovou synchronizaci zm∞n ve formulß°i, tedy zajistit, ₧e hodnota ka₧dΘ slo₧ky se zapφÜe do databßze ihned po dokonΦenφ jejφ editace;

  2. v okam₧iku, kdy je nutno zajistit promφtnutφ zm∞n, volat akci Ulo₧it zm∞ny ve formulß°i (nebo metodu Φi funkci Commit_view);

  3. pokud staΦφ p°enesenφ zm∞n do databßze p°i opouÜt∞nφ formulß°e, nastavit v nßvrhu formulß°e p°φznak Uklßdat p°i deaktivaci; deaktivace zp∙sobenß otev°enφm jinΘho formulß°e vÜak nastßvß a₧ potΘ, co si tento formulß° naΦetl data;

  4. pokud staΦφ p°enesenφ zm∞n do databßze p°i zav°enφ formulß°e, stane se tak automaticky.

Tato °eÜenφ jsou dostateΦnß, pokud druh² formulß° bude teprve otev°en. Pokud ji₧ otev°en je (Φast∞jÜφ p°φpad), je t°eba navφc znovu naplnit jeho vyrovnßvacφ pam∞¥ provedenφm akce NaΦφst data a p°ekreslit formulß° (nebo procedurou Φi metodou Reset_view s poslednφm parametrem RESET_CACHE). To lze provΘst nap°φklad jako Akci po zm∞n∞, Akci p°i zav°enφ nebo akci vyvolanou tlaΦφtkem ve formulß°i, kter² provedl zm∞nu dat.