Public Sub TableFromRecordset()
Dim db As DAO.Database
Dim rstSource As DAO.Recordset
Dim rstTarget As DAO.Recordset
Dim fldSource As DAO.Field
Dim fldTarget As DAO.Field
Dim tdf As DAO.TableDef
Set db = CurrentDb
Set rstSource = db.OpenRecordset("SELECT * FROM tblTest")
Set tdf = db.CreateTableDef("MyNewTable")
For Each fldSource In rstSource.Fields
Set fldTarget = tdf.CreateField(fldSource.name, fldSource.Type,
fldSource.Size)
tdf.Fields.Append fldTarget
Next fldSource
db.TableDefs.Append tdf
Set rstTarget = db.OpenRecordset("SELECT * FROM MyNewTable")
Do Until rstSource.EOF
rstTarget.AddNew
For Each fldSource In rstSource.Fields
rstTarget.Fields(fldSource.name).Value = fldSource.Value
Next fldSource
rstTarget.Update
rstSource.MoveNext
Loop
rstSource.Close
rstTarget.Close
Application.RefreshDatabaseWindow
End Sub