Tabelle erstellen
Allgemeiner Teil:
Dim tabelle As TableDef
Dim felder As Field
Dim idx As Index, feldindex As Field
Set datenbank = CurrentDb()
Set tabelle = datenbank.CreateTableDef("Tabellenname")
1. Tabelle löschen
Bevor eine Tabelle erstellt wird sollte überprüft werden, ob diese nicht bereits existiert.
Dim x As Integer
For x = 0 To datenbank.TableDefs.Count - 1
Set tabelle = datenbank.TableDefs(x)
If tabelle.Name = "Tabellenname" ThenDoCmd.DeleteObject acTable, "Tabellenname"
Exit ForEnd If
Next
2. Felder erstellen
Set felder = tabelle.CreateField("Feldname",
dbText [,länge])
tabelle.Fields.Append felder
für dbText kann stehen: | Typ: | Beschreibung: |
dbBoolean | Ja/Nein Feld | |
dbByte | 1 Byte (kann Werte von 0 ... 255 annehmen) | |
dbCurrency | Währung | |
dbDate | Datum | |
dbDouble | Gleitkommazahl mit doppelter Genauigkeit | |
dbInteger | 2 Byte groß | |
dbLong | Lange ganze Zahl | |
dbLongbinary | OLE Objekt | |
dbMemo | Bemerkungsfeld | |
dbSingle | Gleitkommazahl mit einfacher Genauigkeit | |
dbText | 1 bis 255 Zeichen |
2.1 Autofeld erstellen
Set felder = tabelle.CreateField("Feldname",
dbLong)
felder.Attributes = dbAutoIncrField
tabelle.Fields.Append felder
2.2 Primärschlüssel erstellen
Zuerst muß das Feld erstellt werden:
Set felder = tabelle.CreateField("Feldname",
dbLong)
felder.Attributes = dbAutoIncrField
tabelle.Fields.Append felder
Jetzt kann man in Bezug auf den Feldname den Primärschlüssel erstellt werden:
Set idx = tabelle.CreateIndex("Primärschlüssel")
Set feldindex = idx.CreateField("Feldname", dbLong)
idx.Fields.Append feldindex
idx.Primary = True
tabelle.Indexes.Append idx
2.3 Index mit Duplikaten erstellen
Zuerst muß wieder das Feld erstellt werden:
Set felder = tabelle.CreateField("Feldname", dbLong)
tabelle.Fields.Append felderSo wird ein Index mit Duplikate erstellt:
Set idx = tabelle.CreateIndex("NeuIndex")
Set feldindex = idx.CreateField("Feldname", dbLong)
idx.Fields.Append feldindex
idx.Unique = False
tabelle.Indexes.Append idx