น่าจะแบบนี้ครับ
Sub FieldNames()
Dim rst, rstOut, strTable As Recordset
Dim f As Field
Dim SQL, RecordName As String
Set rst = CurrentDb.OpenRecordset("tbTarang1")
Set rstOut = CurrentDb.OpenRecordset("tbfild1")
rst.MoveFirst
Do Until rst.EOF
RecordName = rst!fname
Set strTable = CurrentDb.OpenRecordset(RecordName)
For Each f In strTable.Fields
rstOut.AddNew
rstOut![tarang] = RecordName
rstOut![fild] = f.Name
rstOut.Update
Next
rst.MoveNext
Loop
rst.Close: Set rst = Nothing
rstOut.Close: Set rstOut = Nothing
strTable.Close: Set strTable = Nothing
End Sub