I've been playing further ...
The "Type" property displays as a number, so I've created a little function that gives you a text description for the Type. The code is now as follows:
Sub ListTables()
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim rec As DAO.RecordSet
Dim i As Integer
Set db = CurrentDb
Set rec = db.OpenRecordset("tblSYSTableFields", dbOpenDynaset)
DoCmd.SetWarnings False
DoCmd.OpenQuery "qdelTableFields"
DoCmd.SetWarnings True
DoCmd.Hourglass True
For Each tdf In db.TableDefs
Select Case LCase(Left(tdf.Name, 4))
Case "msys"
Case Else
Select Case UCase(tdf.Name)
Case "switchboard items", "tblsystablefields"
Case Else
For i = 1 To tdf.Fields.count - 1
With rec
.AddNew
!Table = tdf.Name
!FieldName = tdf.Fields(i).Name
!Type = GetType(tdf.Fields(i).Type)
!Size = tdf.Fields(i).Size
!Description = SetProperty(tdf.Fields(i), "Description"

.Update
End With
Next i
End Select
End Select
Next tdf
DoCmd.Hourglass False
End Sub
Function SetProperty(fldTemp As Field, strName As String) As String
Dim prpNew As Property
Dim errLoop As Error
Dim strTemp As String
' Attempt to set property
On Error GoTo Err_Property
strTemp = fldTemp.Properties(strName)
On Error GoTo 0
If strTemp = "Blank" Then
SetProperty = ""
Else
SetProperty = strTemp
End If
Exit Function
Err_Property:
' Error 3270 means that the property was not found.
If DBEngine.Errors(0).Number = 3270 Then
' Create property, set its value, and append it to the
' Properties collection.
Set prpNew = fldTemp.CreateProperty(strName, _
dbText, "Blank"

fldTemp.Properties.Append prpNew
Resume
Else
' If different error has occurred, display message.
For Each errLoop In DBEngine.Errors
MsgBox "Error number: " & errLoop.Number & vbCr & _
errLoop.Description
Next errLoop
SetProperty = ""
Exit Function
End If
End Function
Function GetType(intType As Integer) As String
Select Case intType
Case 1: GetType = "Yes/No"
Case 2: GetType = "Byte"
Case 3: GetType = "Integer"
Case 4: GetType = "Long"
Case 5: GetType = "Currency"
Case 6: GetType = "Single"
Case 7: GetType = "Double"
Case 8: GetType = "Date/time"
Case 10: GetType = "Text"
Case 11: GetType = "OLE Object"
Case 12: GetType = "Memo or Hyperlink"
Case 15: GetType = "Replication ID"
Case Else: GetType = intType
End Select
End Function