Evo jednog zanimljivog trika koji će vam pomoći u tome da izbegnete eventualne greške u vreme izvršavanja aplikacije, i to prilikom uvoza podataka u Access. Ukoliko probate da uvezete podatke sa formiranim indeksima, gotovo je sigurno da će se desiti greška, a pored toga sam proces uvoza podataka je mnogo brži ukoliko uvezene tabele nemaju indekse. Za postizanje maksimalne brzine, potrebno je pre uvoza podataka iz, recimo, tekstualnih fajlova ukloniti indekse iz Access tabela. Nakon uvoza podataka, ponovo ćemo kreirati indekse uz pomoć programskog koda. Sve ovo se dešava automatski, u jednom paketnom procesu.
Da biste izbegli greške, pre uklanjanja i ponovnog rekreiranja indeksa, potrebno je odrediti da li oni (indeksi) uopšte i postoje. Za ovo određivanje upotrebićemo kratku funkciju. Kada funkciji prosledite naziv tabele i naziv indeks-polja, funkcija će vratiti True ukoliko je polje indeksovano, i False ukoliko nije indeksovano.
Public Function Index_Postoji( _
strTable As String, strField As String) As BooleanOn Error GoTo Index_Exists_ERR
Dim dbs As Database
Dim tbl As TableDef
Dim idx As Index
Dim fld As FieldSet dbs = CurrentDb
Set tbl = dbs.TableDefs(strTable)Index_Exists = False
With tbl
For Each idx In tbl.Indexes
For Each fld In idx.Fields
If fld.Name = strField Then
Index_Exists = True
End If
Next
Next
End WithIndex_Exists_EXIT:
Set dbs = Nothing
Exit FunctionIndex_Exists_ERR:
MsgBox Err.Description
Resume Index_Exists_EXIT
End Function
Pratite Krstaricu na www.krstarica.com