Создать список таблиц базы данных Microsoft Access

Создать список таблиц базы данных Microsoft Access

Как заставить Microsoft Access сформировать список таблиц базы данных?

Я наткнулся на SQL-запрос, предложенный кем-то надругой веб-сайтОднако, похоже, в Access нет интерфейса, который бы просто позволял выполнять созданные пользователем запросы, подобные приведенным ниже...

SELECT [Name]
FROM MSysObjects
WHERE Type In (1,4,6)
AND Left([Name] , 4) <> "MSys"
ORDER BY [Name]

решение1

Вы можете запустить SQL-код, который есть в запросе, потому что он им и является.

  1. Создайте новый запрос в конструкторе запросов, а не с помощью мастера.
    введите описание изображения здесь
  2. Закройте окно таблицы.
    введите описание изображения здесь
  3. Измените вид на SQLи введите свою строку.
  4. Нажмите RUN.
    введите описание изображения здесь

решение2

Вы можете сделать это следующим DAOобразом VB:

Public Sub ListTablesDAO()
    Dim db As DAO.Database
    Dim tdf As DAO.TableDef

    Set db = CurrentDb
    For Each tdf In db.TableDefs
        If (tdf.Attributes And dbSystemObject) = 0 Then
            Debug.Print tdf.Name
        End If
    Next tdf
    db.Close: Set db = Nothing
End Sub

и вот так сADO

Public Sub ListTablesADO()
    Dim rs As ADODB.Recordset

    Set rs = CurrentProject.Connection.OpenSchema(adSchemaTables)
    Do Until rs.EOF
        If rs!TABLE_TYPE = "TABLE" Then
            Debug.Print rs!TABLE_NAME
        End If
        rs.MoveNext
    Loop
    rs.Close: Set rs = Nothing
End Sub

DAO и ADO предоставляют две разные объектные модели для баз данных. Какую версию вы выберете, зависит от ваших предпочтений. Вам также понадобится ссылка на соответствующие библиотеки:

Вы можете добавить эти ссылки в меню Tools > References:

введите описание изображения здесь

Связанный контент