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