Indeksiranje zapisov

Iz SDMS
Jump to navigationJump to search

Med mnogimi zapisi se včasih najlažje znajdemo, če jih oštevilčimo. Polje z indeksom je še posebej uporabno za razvrščanje in povezavo plasti brez topologije.

Najprej pripravimo v podatkovni plasti [Podatkovna plast] numerično polje Polje za indeks. S filtrom izberemo zapise, ki jih želimo oštevilčiti. Po želji jih razvrstimo.

V [konzolo] - pritisnemo preslednico - vnesemo spodnje vrstice. V drugo vrstico vnesemo dejansko ime podatkovne plasti in v tretjo dejansko ime polja za indeks. Pritisnemo Enter.

Dim L As TLayer, F AS TField, I As Long
L = [Podatkovna plast]
F = L.GetField ("Polje")
L.BeginMultipleUpdate
For I = 0 To L.FilteredRecords.Count - 1
  Hint (IntToStr (I))
  L.EditRecord.Edit (L.FilteredRecords.Items (I))
  L.EditRecord.FldAsNumber (F) = I + 1
  L.EditRecord.Update
Next
L.EndMultipleUpdate

K vsem razvrščenim filtriranim zapisom se v Polje zapišejo zaporedna števila od 1 naprej.

Naprednejši boste dodali na začetku in koncu še vrstici

Sub ZapID
...
EndSub

ter rutino zapisali v ustrezni modul. Rutino je treba spremeniti tako, da bo po ukazu ZapID možno izbrati podatkovno plast in polje.

Nazaj na LGB Navodila