Paste the following VBA Code to a new Module in an empty Excel Worksheet and execute the public sub after editing the File Path and the Password in the Connection String.
Following Reference is required:
Microsoft Office 1[4567].0 Access database engine Object Library
Public Sub ReadAllTablesAndColumnsFromAccessDatabase() Dim db As Database, td As TableDef Dim fld As Field Set db = OpenDatabase("C:\Temp\yourAccessDB.mdb", False, True, "MS Access;PWD=PAAAAAASSSSWOOOORRRRDDD") ' Trap for any errors. On Error Resume Next Dim idxTable As Integer Dim rowIdx As Integer rowIdx = 1 Dim targetRange As Range ' *** Zieltabelle festlegen... Set targetRange = ThisWorkbook.Worksheets(1).Cells(1, 1) For idxTable = 0 To db.TableDefs.Count - 1 Set td = db.TableDefs(idxTable) If Left(td.Name, 4) <> "MSys" And Left(td.Name, 1) <> "~" Then For Each fld In td.Fields targetRange.Cells(rowIdx + 1, 1).Value = td.Name targetRange.Cells(rowIdx + 1, 2).Value = fld.Name targetRange.Cells(rowIdx + 1, 3).Value = FieldType(fld.Type) targetRange.Cells(rowIdx + 1, 4).Value = fld.Size targetRange.Cells(rowIdx + 1, 5).Value = fld.Attributes targetRange.Cells(rowIdx + 1, 6).Value = fld.Properties("description") rowIdx = rowIdx + 1 Next fld End If Next idxTable db.Close End Sub Function FieldType(intType As Integer) As String Select Case intType Case dbBoolean FieldType = "dbBoolean" '1 Case dbByte FieldType = "dbByte" '2 Case dbInteger FieldType = "dbInteger" '3 Case dbLong FieldType = "dbLong" '4 Case dbCurrency FieldType = "dbCurrency" '5 Case dbSingle FieldType = "dbSingle" '6 Case dbDouble FieldType = "dbDouble" '7 Case dbDate FieldType = "dbDate" '8 Case dbBinary FieldType = "dbBinary" '9 Case dbText FieldType = "dbText" '10 Case dbLongBinary FieldType = "dbLongBinary" '11 Case dbMemo FieldType = "dbMemo" '12 Case dbGUID FieldType = "dbGUID" '15 End Select End Function