Як отримати список таблиць в базі access

Q.Как отримати інформацію з системних таблиць MS Access?
Q.Как дізнатися існує таблиця (запит, уявлення) в базі MS Access?
Наведемо приклад з використанням таблиці MSysObject бази MS Access:
Підключаючись до бази даних MS Access

(ADO, ODBC, BDE) може знадобитися інформація, яка зберігається

системної таблиці MSysObject вашої бази даних. Наприклад, Вам потрібно знати чи є якась таблиця (table), запит (query) або подання (view) в вашій базі. У базі MS Access пишемо запит

SELECT Count (*) FROM msysobjects

WHERE msysobjects.Type = 5 AND msysobjects.Name = MyView

уявлення MyView існує, то запит поверне одне поле, в якому буде стояти одиниця, в іншому випадку отримаємо поле c нулем.
Якщо, дотримуючись синтаксис мови SQL,

запит в середовищі програмування Delphi / BCB, то буде

'Jet OLEDB: Create System Database = true;' +

'Jet OLEDB: System database =' + pathSysDB;


У цьому рядку:
pathDB - шлях до вашої базі,
pathSysDB -

до файлу робочої групи.

замовчуванням будуть використовуватися системний файл (system.mdw), який розташовується C: \ Documents and Settings \ user \ Application Data \ Microsoft \ Access. Якщо на вашому комп'ютері кілька користувачів, будуть виникати проблеми з правами використання даного файлу.
Щоб створити свій файл робочої групи потрібно запустити MS Access-> Сервіс> захист-> Адміністратор робочих груп-> Створити ... і в стоці підключення вказати шлях pathSysDB до створеного системного файлу.
Після підключення файлу робочої групи можна звертатися із запитами до системної таблиці MSysObject безпосередньо з програмування Delphi / BCB.
Наведемо значення,

може приймати Type:
Type Пояснення
1 таблиця
6 приєднана таблиця
5 запит / уявлення
8 відносини, зв'язки (Relationships)
-32768 форма
-32764 звіт
-32766 макрос
-32761 модуль
Ця тема

Схожі статті