you can get tables and columns for almost any data source using ADOX
you can find list of many connection strings here
http://www.able-consulting.com/ADO_Conn.htm
VB sample and MS Access Data Source
Sub ShowColumns()
Dim myAdoX As Object
Dim i As Integer
Dim j As Integer
Dim myConnection As String
Set myAdoX = CreateObject("ADOX.Catalog")
myConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=c:\winnt\desktop\db1.mdb;" & _
"User Id=admin;" & _
"Password="
myAdoX.ActiveConnection = myConnection
For i = 0 To myAdoX.Tables.Count - 1
Debug.Print myAdoX.Tables(i).Name
For j = 0 To myAdoX.Tables(i).Columns.Count - 1
Debug.Print " - " & myAdoX.Tables(i).Columns(j).Name
Next
Next
End Sub
jiri