Access – Kreiranje AutoNumber polja

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 False

On Error GoTo ErrHandler
Dim db As DAO.Database
Dim fld As DAO.Field
Dim tdf As DAO.TableDef

Set 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 With

fKreirajAutoNumberPolje = 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