IT Fjernundervisning

Opret tabel

Beskrivelse

Opret tabel

Her følger så et eksempel på, hvordan man kan oprette en tabel fra VBA

    Dim db As Database
    Dim tbl As TableDef
    Dim fld As Field
    Dim idx As Index
    '
    Set db = CurrentDb()
    Set tbl = db.CreateTableDef("tblObservation")
    Set fld = tbl.CreateField("KundeNr", dbLong)
    fld.OrdinalPosition = 1
    fld.Attributes = dbAutoIncrField
    tbl.Fields.Append fld
    '
    Set fld = tbl.CreateField("Kundenavn", dbText)
    fld.OrdinalPosition = 2
    fld.Size = 50
    fld.Required = True
    fld.AllowZeroLength = False
    tbl.Fields.Append fld
    '
    'Opret index
    Set idx = tbl.CreateIndex("PrimayKey")
    idx.Primary = True
    idx.Required = True
    idx.Unique = True
    '
    Set fld = idx.CreateField("KundeNr")
    idx.Fields.Append fld
    tbl.Indexes.Append idx
    db.TableDefs.Append tbl
    RefreshDatabaseWindow

Øvelse

Opret en kopi af en af de tidligere databaser og kald den "OpretTabel.mdb".

Lav en procedure, der opretter et par nye tabeller i databasen.


Pak databasen sammen eller omdøb den og send den til mig.


Løsning

Hent mit forslag til løsningen her

Min kode ser sådan her ud

Sub OpretTabel()    Dim db As Database    Dim tbl As TableDef    Dim fld As Field    Dim idx As Index        Set db = CurrentDb()    Set tbl = db.CreateTableDef("tblObservation")    Set fld = tbl.CreateField("KundeNr", dbLong)    fld.OrdinalPosition = 1    fld.Attributes = dbAutoIncrField    tbl.Fields.Append fld    Set fld = tbl.CreateField("Kundenavn", dbText)    fld.OrdinalPosition = 2    fld.Size = 50    fld.Required = True    fld.AllowZeroLength = False    tbl.Fields.Append fld    'Opret index    Set idx = tbl.CreateIndex("PrimayKey")    idx.Primary = True    idx.Required = True    idx.Unique = True    Set fld = idx.CreateField("KundeNr")    idx.Fields.Append fld    tbl.Indexes.Append idx    db.TableDefs.Append tbl    RefreshDatabaseWindow End Sub

Brug for hjælp til VBA, VSTO eller SQL?

Scient Data tilbyder professionel IT-konsulentbistand

Kontakt Scient Data →