Я не уверен, хотите ли вы получить имена столбцов для заголовка вашего вопроса:
Получить имя столбцов из таблицы Access с помощью Visual Basic
Или имена таблиц по содержанию вашего вопроса:
Я пытаюсь поместить имена таблиц в список, чтобы я могсоздайте таблицу SQL с ними.
Если первое, вы можете перебрать коллекцию Fields соответствующего объекта TableDef и запросить Name
свойство для каждого объекта поля.
Например, следующая функция вернет массив имен полей, содержащихся в таблице с указанным именем:
Function FieldNames(strTbl As String) As String()
Dim dbs As DAO.Database
Dim def As DAO.TableDef
Dim fld As DAO.Field
Dim idx As Integer: idx = 0
Set dbs = CurrentDb
Set def = dbs.TableDefs(strTbl)
Dim rtn() As String
ReDim rtn(0 To def.Fields.Count - 1)
For Each fld In def.Fields
rtn(idx) = fld.Name
idx = idx + 1
Next fld
FieldNames = rtn
End Function
Immediate Window ( Ctrl + G ) пример вывода:
x = FieldNames("YourTable")
?x(0)
Field1
?x(1)
Field2
?x(2)
Field3
Если вместо этого вы хотите получить массив всех имен таблиц в базе данных, вы можете выполнить итерацию по Коллекция TableDefs в базе данных, что демонстрируется следующей функцией:
Function TableNames() As String()
Dim dbs As DAO.Database
Dim def As DAO.TableDef
Dim idx As Integer: idx = 0
Set dbs = CurrentDb
Dim rtn() As String
ReDim rtn(0 To dbs.TableDefs.Count - 1)
For Each def In dbs.TableDefs
rtn(idx) = def.Name
idx = idx + 1
Next def
TableNames = rtn
End Function