Содержание
Microsoft Access - это система управления базами данных, которая позволяет пользователям создавать собственные базы данных, отчеты и формы. Доступ содержит все строительные блоки для разработки небольших приложений. Вы можете создавать таблицы данных, хранимые процедуры, функции и макросы, а также формы и отчеты. Все эти компоненты имеют свои собственные указатели или определения записей, хранящиеся в скрытой системной таблице. Access хранит записи каждой таблицы, отчета, формы и т. Д. который вы создаете, а также хранит данные, такие как дата его создания или обновления и системные флаги.
направления
Access хранит информацию о структуре базы данных в таблице MSysObjects (изображение для хранения данных Kir от Fotolia.com)-
Создайте запрос, который запускает команду SQL ниже. Этот запрос отображает список всех таблиц в текущей базе данных Access. Предложение «where», использующее число 1, служит для указания того, что нам нужны только таблицы в кавычках.
ВЫБЕРИТЕ MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags FROM MSysObjects, ГДЕ MSysObjects.Type = 1
-
Возвратите запрос несистематических таблиц в базе данных, с примером ниже:
ВЫБЕРИТЕ MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags FROM MSysObjects, ГДЕ MSysObjects.Type = 1 И MSysObjects.Name не похож на «MSys *»;
-
Введите список скрытых таблиц базы данных, выполнив запрос ниже:
ВЫБЕРИТЕ MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags ОТ MSysObjects ГДЕ MSysObjects.Type = 1 И MSysObjects.Flags <> 8
-
Сортируйте список не скрытых, несистематических таблиц, используя следующий код SQL:
ВЫБЕРИТЕ MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags ОТ MSysObjects, ГДЕ MSysObjects.Type = 1 И MSysObjects.Flags <> 8 И MSys Notame " ЗАКАЗАТЬ MSysObjects.Name
Получение списка таблиц
-
Загрузите ваш список таблиц в объект записей, используя код VBA ниже:
Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery")
-
Прокрутите каждую запись выполненного запроса.
Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery")
Do As Not rsMyTables.EOF 'Код для манипулирования данными
rsMyTables.MoveNext Loop
-
Добавьте имя в каждую таблицу для списка, изменив его цикл:
Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear
Делать, пока не rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Имя]
rsMyTables.MoveNext Loop
-
Закройте объект реестра, чтобы освободить память, которую он использует:
Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear
Делать, пока не rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Имя]
rsMyTables.MoveNext Loop
rsMyTables.Close Set rsMyTables = Nothing
Используйте список таблиц в VBA
чаевые
- Макросы, созданные в Visual Basic для приложений (VBA), который является языком программирования Microsoft Office Standard.
- Вы можете перечислить любой из этих объектов в Access, изменив фильтр «MSysObject.Type». Варианты этого значения перечислены ниже:
- Таблица = 1
- Query = 5
- Связанная таблица = 4, 6 или 8
- Форма = -32768
- Отчет = -32764
- Модуль = -32761