Home page | Seznam Tip∙ t²dne | Produkty | Download | Cenφk

Obnovenφ zruÜen²ch zßznam∙

P°i zruÜenφ zßznamu v tabulce se zapφÜe hodnota TRUE do atributu DELETED. Tento atribut se za normßlnφch okolnostφ p°i prohlφ₧enφ zßznam∙ zapsan²ch v tabulce nezobrazuje. V p°φpad∞, ₧e je pot°eba obnovit jeden nebo vφce zruÜen²ch zßznam∙, dß se tento atribut zp°φstupnit tak, ₧e se p°i otevφranφ tabulky podr₧φ stlaΦenΘ tlaΦφtko CTRL. ZruÜenΘ zßznamy v tabulce lze obnovit za p°edpokladu, ₧e nebylo provedeno jejich uvoln∞nφ, nebo zkompaktn∞nφ tabulky. Na obrßzku jsou zruÜenΘ zßznamy zobrazeny s p°eÜkrtnut²m ΦtvereΦkem ve sloupci ZruÜeno?, u uvoln∞n²ch zßznam∙ je ΦtvereΦek Üed². ZruÜenφm zaÜkrtnutφ ΦtvereΦku se zßznam obnovφ.
V re₧imu obnovovßnφ zßznam∙ je lze sice uspo°ßdat nebo vyhledat podle urΦitΘho kritΘria, ale v²slednß mno₧ina zßznam∙ neobsahuje zruÜenΘ v∞ty. U tabulek s v∞tÜφm poΦtem zßznam∙ proto b²vß dost problematickΘ vyhledat konkrΘtnφ zruÜen² zßznam. V takovΘm p°φpad∞ b²vß v∞tÜinou sch∙dn∞jÜφ vyhledat a obnovit zßznam programem. Program m∙₧e se zruÜen²m (nikoli uvoln∞n²m) zßznamem normßln∞ pracovat.
ProblΘmem m∙₧e b²t i obnovenφ zßznamu v tabulce s jedineΦn²m indexem. Pokud je toti₧ u zruÜenΘho zßznamu hodnota atributu, na kter² existuje v tabulce jedineΦn² index, rovna hodnot∞ stejnΘho atributu n∞kterΘho nezruÜenΘho zßznamu, obnovenφ nelze provΘst. ╪eÜenφm je potom bu∩ nahrazenφ p∙vodnφ hodnoty atributu zruÜenΘho zßznamu jinou jedineΦnou hodnotou, nebo zruÜenφm jedineΦnΘho indexu.

V nßsledujφcφ ukßzce projde program vÜechny v∞ty v tabulce Obnov a zruÜenΘ zßznamy obnovφ:


table Obnov;
var
 cnt, r : trecnum;
 chyba : short;
begin
 if Rec_cnt(Obnov, cnt)
  then Signalize
  else
   for r := 0 to cnt - 1 do
    with Obnov[r] do
     if DELETED
      then
       begin
        Err_mask(TRUE);
        DELETED := FALSE;
        chyba := Sz_error;
        case chyba of
         0: Info_box(Int2str(r), "Zßznam byl obnoven");
         140: Info_box(Int2str(r), "Nelze obnovit. Zßznam je ji₧ uvoln∞n.");
         172: Info_box(Int2str(r), "Nelze obnovit. Duplicita klφΦ∙ v jedineΦnΘm indexu.");
         else: Info_box(Int2str(r), "Nelze obnovit.");
        end;
        Err_mask(FALSE);
       end;
end.
Home page | Seznam Tip∙ t²dne | Produkty | Download | Cenφk