home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 February / Chip_2000-02_cd.bin / tema / ArcData / www / download / tappend.ave < prev    next >
Text File  |  1999-12-17  |  2KB  |  59 lines

  1. '-----------------------TAPPEND.AVE----------------
  2.  
  3. 'Popis: Jednoduch² skript pro p°ipojenφ zßznam∙ z jednΘ tabulky do druhΘ. Pracuje i s typem FTab, tzn. p°ipojuje zßznamy i se shape (pokud je v obou tabulkßch stejnΘho typu - program nekontroluje!).  Program nevy₧aduje stejn² poΦet, dΘlku a po°adφ polφ v obou tabulkßch. PostaΦuje stejn² typ a ALIAS. P°enesou se pouze hodnoty vyhovujφcφch polφ v obou tabulkßch. P°enßÜejφ se vybranΘ zßznamy, pokud nenφ nic vybrßno, p°enßÜφ se obsah celΘ tabulky. Je mo₧no p°enΘst zßznamy i ze stejnΘ tabulky (duplikace). Cφlovß tabulka musφ b²t aktivnφ, v editovatelnΘm stavu.
  4.  
  5. ' autor : èt∞pßn Kafka, Ok┌ Kutnß Hora
  6. ' e-mail : kafka@email.cz
  7.  
  8. ' pripojeni zaznamu na konec tabulky z jine tabulky (pouzita pouze viditelna pole)
  9.  
  10. CilTab = av.GetActiveDoc.GetVTab
  11.  
  12. Tabulky = {}
  13. for each D in av.GetProject.GetDocs
  14.   if (D.GetClass.GetClassName = "Table") then
  15.     Tabulky.Add(D)
  16.   end
  17. end
  18.  
  19. Tabulka = MsgBox.ListAsString(Tabulky, "Zdrojovß tabulka:", "P°ipojenφ zßznam∙ z jinΘ tabulky")
  20. if (Tabulka = nil) then exit end
  21.  
  22. ZdrojTab = Tabulka.GetVTab
  23. ZdrojPole = ZdrojTab.GetFields
  24. Vybrane = ZdrojTab.GetSelection
  25. Pocet = Vybrane.Count
  26. if (Pocet = 0) then
  27.   Vybrane = ZdrojTab
  28.   Pocet = Vybrane.GetNumRecords
  29.   if (ZdrojTab = CilTab) then
  30.     MsgBox.Warning("Nelze p°ipojit vÜechny zßznamy ze stejnΘ tabulky.", "POZOR!")
  31.     exit
  32.   end
  33. end
  34.  
  35. av.ShowMsg("P°idßnφ zßznam∙ " + ZdrojTab.AsString ++ "->" ++ CilTab.AsString)
  36. av.ShowStopButton
  37. i = 0
  38. for each rec in Vybrane
  39.   i = i + 1
  40.   if (av.SetStatus(100*i/Pocet).not) then exit end
  41.   NovaVeta = CilTab.AddRecord
  42.   for each Pole in ZdrojPole
  43.     if (Pole.IsVisible) then 
  44.       CilPole = CilTab.FindField(Pole.GetAlias)
  45.       if (CilPole <> nil) then
  46.         if ((CilPole.IsVisible) and (CilPole.IsEditable)) then
  47.           Hodnota = ZdrojTab.ReturnValue(Pole, rec)
  48.           if (CilPole.GetType <> Pole.GetType) then
  49.             Hodnota = Hodnota.AsString
  50.           end
  51.           CilTab.SetValue(CilPole, NovaVeta, Hodnota)
  52.         end  
  53.       end
  54.     end  
  55.   end
  56. end
  57.  
  58.  
  59.