Вот собственно:
Private mvarTables As New StringList 'собственный класс для работы со строками
...
Set data = New ADODB.Connection
With data
mvarTables.Clear
If .State <> adStateClosed Then .Close
.ConnectionString = "Provider=microsoft.jet.OLEDB.4.0;Data Source=" & FileName & ";User ID=" & xset.Login & ";Password=" & xset.Password & ";"
.Open
Set list = .OpenSchema(adSchemaTables, _
Array(Empty, Empty, Empty, "TABLE"))
End With
DataMembers.Clear
DataMembers.Add "!__LIST"
list.MoveFirst
Do Until list.EOF = True
mvarTables.Add list("TABLE_NAME")
list.MoveNext
Loop
CurrentTable = mvarTables.Item(1)
Вызывает сложность выделенное жирным - преобразование в обычный массив не помогает. Хотя нашел еще один вариант - может быть будет работать