Hi,
ein kleines Beispiel bzgl. TableDefs;
=======================================
Dim db as Database
Dim tblDef as TableDef
Dim fIdx As Index
set db = CurrentDB
Set tblDef = db.CreateTableDef(„MeineTabelle“)
Set fIdx = tblDef.CreateIndex(„ID“)
fIdx.Unique = True
fIdx.Required = True
AppendDeleteField tblDef, „APPEND“, „ID“, dbLong, 8
AppendDeleteField tblDef, „APPEND“, „einLongInteger“, dbLong, 8
AppendDeleteField tblDef, „APPEND“, „einShortFloat“, dbShort, 8
AppendDeleteField tblDef, „APPEND“, „einShortText“, dbText, 8
fIdx.Fields.Append fIdx.CreateField(„ID“)
tblDef.Indexes.Append fIdx
db.TableDefs.Append tblDef
====================================================================
Sub AppendDeleteField(tdfTemp As TableDef, _
strCommand As String, strName As String, _
Optional varType, Optional varSize)
With tdfTemp
’ Erst überprüfen, ob das TableDef-Objekt
’ aktualisierbar ist. Wenn dies nicht der Fall ist
’ wird die Steuerung an die aufrufende Prozedur zurückgegeben.
If .Updatable = False Then
MsgBox "TableDef-Objekt nicht aktualisierbar! " & _
„Vorgang konnte nicht durchgeführt werden.“
Exit Sub
End If
’ Abhängig von den übergebenen Daten ein Feld
’ der Fields-Auflistung des angegebenen
’ TableDef-Objekts anfügen oder daraus löschen.
If strCommand = „APPEND“ Then
.Fields.Append .CreateField(strName, _
varType, varSize)
Else
If strCommand = „DELETE“ Then .Fields.Delete _
strName
End If
End With
End Sub
============================================================
Das sollte etwas helfen
Tschau
Peter
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]