Here is some code I used on a cross tab query make tbl, that made a wet table from data I just Imported, The table def had to be updated because I never new what data they were going to throw at me. So I wrote the following function and pass it the wet tbl and appended fields to the working tbl.
Function MyAddDef1(MyTableStr1 As String, MyTableStr2 As String)
Dim db As Database
Dim tdf1 As TableDef
Dim tdf2 As TableDef
Dim fld1 As Field
Dim fld2 As Field
Dim MyStr1 As String
Dim MyStr2 As String
Dim MyNewFieldDef As String
Dim MyStr4 As String
Dim flde As Boolean
Dim flde1 As Boolean
flde = True
flde1 = True
Set db = CurrentDb
Set tdf1 = db.TableDefs(MyTableStr2) 'wet
Set tdf2 = db.TableDefs(MyTableStr1)
For Each fld1 In tdf1.Fields
MyStr4 = fld1.Name
MyNewFieldDef = fld1.Name 'fld not found
If flde Then
For Each fld2 In tdf2.Fields
MyStr2 = fld2.Name
If MyStr2 = MyStr4 And flde Then
flde1 = False
flde = False
End If
Next fld2
End If 'If flde Then
If flde Then MyAddDef2 MyTableStr1, MyNewFieldDef
flde = True
Next fld1
Set db = Nothing
End Function
Private Function MyAddDef2(MyTableStr1 As String, MyNewFieldDef As String)
Dim db As Database
Dim tdf As TableDef
Dim fld As Field
Set db = CurrentDb
Set tdf = db.TableDefs(MyTableStr1)
Set fld = tdf.CreateField(MyNewFieldDef)
fld.Type = dbText
fld.Size = 30
fld.Required = False
fld.DefaultValue = "0"
tdf.Fields.Append fld
tdf.Fields.Refresh
Set db = Nothing
End Function