Mira, este es el ejemplo que te viene en Visual Studio:
Sub TableDefX()
Dim dbsNeptuno As Database
Dim tdfNuevo As TableDef
Dim tdfBucle As TableDef
Dim prpBucle As Property
Set dbsNeptuno = OpenDatabase "Neptuno.mdb")
' Crea un objeto TableDef nuevo, anexa los objetos
' Field a la colección Fields y anexa el objeto
' TableDef a la colección TableDefs del objeto Database.
Set tdfNuevo = dbsNeptuno.CreateTableDef("NuevoTableDef")
tdfNuevo.Fields.Append tdfNuevo.CreateField("Fecha", dbDate)
dbsNeptuno.TableDefs.Append tdfNuevo
With dbsNeptuno
Debug.Print .TableDefs.Count & _
"TableDefs en " & .Name
' Enumera la colección TableDefs.
For Each tdfBucle In .TableDefs
Debug.Print " " & tdfBucle.Name
Next tdfBucle
With tdfNuevo
Debug.Print "Propiedades de " & .Name
' Enumera la colección Properties del objeto
' TableDef nuevo, sólo imprime las propiedades con valores no vacíos.
For Each prpBucle In .Properties
Debug.Print " " & prpBucle.Name & " - " & _
IIf(prpBucle = "", "[vacío]", prpBucle)
Next prpBucle
End With
' Elimina el TableDef nuevo ya que esto es un ejemplo.
.TableDefs.Delete tdfNuevo.Name
.Close
End With
End Sub
Como ves, te viene el código para crearla y luego para borrarla. Y esta segunda parte coincide, yo creo, con las indicaciones que te daba Angeles. De todos modos, ya ves que esta confusión se ha generado porque en lugar de responder en el primer mensaje, has creado un mensaje nuevo con el mismo tema...
Espero que te funcione. Saludos