U Access-u možete dodeliti određenom polju tip podatka AutoNumber, i to uglavnom radi dobijanja jedinstvenog primarnog ključa određenog entiteta. Ovaj tip podatka omogućava kreiranje brojevnih podataka i to u rastućem (Increment) poretku ili generisanjem slučajnog broja (Random). Ali, kako samostalno izvesti jedno ovakvo polje? Zapravo, postoje dve metode za kreiranje ovakvog polja pomoću programskog koda. Prva je pomoću definicione instrukcije SQL jezika – „Create Table“, a druga metoda se oslanja na VBA kod i to pomoću povećanja osobine dbAutoIncrField. Za kreiranje AutoNumber polja pomoću VBA i DAO, iskoristite sledeću funkciju:
Function fKreirajAutoNumberPolje( _
ByVal strNazivTabele As String, _
ByVal strNazivPolja As String) _
As Boolean
‘
‘ Kreiramo Autonumber polje sa nazivom=strNazivPolja
‘ u tabeli strNazivTabele.
‘ strNazivTabele: Naziv tabele
‘ u kojoj kreiramo polje
‘ strNazivPolja: Naziv novog polja
‘ Funkcija vraca True ako je uspesna,
‘ u suprotnom FalseOn Error GoTo ErrHandler
Dim db As DAO.Database
Dim fld As DAO.Field
Dim tdf As DAO.TableDefSet db = Application.CurrentDb
Set tdf = db.TableDefs(strNazivTabele)
‘ Prvo kreiramo polje sa tipom podataka Long Integer
Set fld = tdf.CreateField(strNazivPolja, dbLong)
With fld
‘ Pretvaramo dbAutoIncrField u atribut
.Attributes = .Attributes Or dbAutoIncrField
End With
With tdf.Fields
.Append fld
.Refresh
End WithfKreirajAutoNumberPolje = True
ExitHere:
Set fld = Nothing
Set tdf = Nothing
Set db = Nothing
Exit Function
ErrHandler:
fKreirajAutoNumberPolje = False
With Err
MsgBox „Greska “ & .Number & vbCrLf & .Description, _
vbOKOnly Or vbCritical, „KreirajAutoNumberPolje“
End With
Resume ExitHere
End Function
Pratite Krstaricu na www.krstarica.com