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

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

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

2 ответа2

1

Вы можете запустить SQL, который у вас есть в запросе, потому что это так.

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

Вы можете сделать это так с 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:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .