Indeksiranje zapisov: Razlika med redakcijama
| Vrstica 28: | Vrstica 28: | ||
ter rutino zapisali v ustrezni modul. Rutino je treba spremeniti tako, da bo po ukazu '''ZapID''' možno izbrati podatkovno plast in polje. | 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 [[ | + | Nazaj na [[Zanimive rutine]] |
Redakcija: 22:07, 26. november 2007
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 Zanimive rutine