Tehnika Krstarice > Programiranje > Access - Kreiranje AutoNumber polja

Access - Kreiranje AutoNumber polja

08.02.2001.

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

Preporučite ovaj članak

Članak još uvek nije ocenjen.