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" Then

          DoCmd.DeleteObject acTable, "Tabellenname"
          Exit For

          End 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 felder

So 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

 

zurück