Debug.Print "There are" & DB.TableDefs.Count & "tables in the database"
' (В базе данных содержится ... таблиц)
' Обработка каждой таблицы
For Each tbl In DB.TableDefs
' ИСКЛЮЧИТЬ СИСТЕМНЫЕ ТАБЛИЦЫ
If Left(tbl.Name, 4) <> "MSys" And Left(tbl.Name, 4) _
"USys" Then
TblList.AddItem tbl.Name
' Для каждой таблицы обработка отображения
For Each idx In tbl.Indexes
TblList.Addltem " " & idx.Name
Next
End If
Next
Dim qry As QueryDef
Debug.Print "There are" & DB.QueryDefs.Count & "queries in the database"
'(В базе данных содержится запросов)
' Обработка сохраненных запросов
For Each qry In DB.QueryDefs
QryList.Addltem qry.Name
Next
NoDatabase:
MsgBoxErr.Description
End Sub
Кроме имен файлов, программа отображает под именем таблицы имена ее индексов с отступом в два пробела.
Рассмотрим основные части этой программы. Определенная пользователем база данных открыта и назначена объектной переменной DB. Далее производится просмотр элементов объекта TableDefs и добавление имени каждой таблицы к списку Tables. Обратите внимание на следующую структуру If.
If Left (tbl.Name, 4)
<> "MSys" And Left (tbl.Name, 4) "USys"
Наряду с таблицами, задаваемыми при разработке базы данных, базы Microsoft Access содержат несколько системных таблиц. Они используются механизмом JET, поэтому управлять ими из программы не нужно. Имена системных таблиц начинаются с префиксов MSys и USys. Программа игнорирует эти таблицы с помощью предыдущего оператора If.
После отображения имени текущей таблицы программа просматривает индексы таблицы с помощью ее объекта Indexes. После имен всех таблиц и индексов отображаются названия всех запросов, сохраненных в базе данных.
Если щелкнуть кнопкой мыши на имени таблицы в списке
Tables, то ее поля отобразятся в списке Selected Table's Fields (Выбранные поля таблицы). Аналогично, после щелчка на имени запроса в текстовом поле Selected Query Definition (Определение выбранного запроса) появится его определение (SQL-оператор).