Як отримати доступ до запитів VBA для переліку таблиць у базі даних

Автор: Robert Simon
Дата Створення: 18 Червень 2021
Дата Оновлення: 13 Листопад 2024
Anonim
№4. Створення форм в MS Access. Загальні відомості. Основні прийоми.
Відеоролик: №4. Створення форм в MS Access. Загальні відомості. Основні прийоми.

Зміст

Microsoft Access - це система управління базами даних, яка дозволяє користувачам створювати власні бази даних, звіти та форми. Access містить усі блоки для розробки невеликих додатків. Можна створювати таблиці даних, збережені процедури, функції і макроси, а також форми і звіти. Всі ці компоненти мають власні покажчики або записи записів, що зберігаються в прихованій системній таблиці. Access зберігає записи кожної таблиці, звіту, форми тощо. які ви створюєте, а також зберігаєте такі дані, як дата його створення або оновлення, а також системні прапори.


Інструкції

Доступ зберігає інформацію про структуру бази даних у таблиці MSysObjects (зображення для зберігання даних Kir з Fotolia.com)

    Отримання списку таблиць

  1. Створіть запит, який запускає команду SQL нижче. Цей запит відображає список всіх таблиць у поточній базі даних Access. Пункт "where", який використовує число 1, служить для позначення того, що ми хочемо лише вказати наведені таблиці.

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags з MSysObjects WHERE MSysObjects.Type = 1

  2. Поверніть несистематичний запит таблиць у базу даних, на прикладі нижче:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags З MSysObjects WHERE MSysObjects.Type = 1 І MSysObjects.Name Не подобається "MSys *";


  3. Введіть список прихованих таблиць бази даних, виконавши запит нижче:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags З MSysObjects WHERE MSysObjects.Type = 1 І MSysObjects.Flags <> 8

  4. Сортувати список неприхованих, несистемних таблиць за допомогою наступного коду SQL:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags З MSysObjects WHERE MSysObjects.Type = 1 І MSysObjects.Flags <> 8 І MSysObjects.Name Не подобається "MSys"; ORDER BY MSysObjects.Name

    Використовуйте список таблиць у VBA

  1. Завантажте список таблиць у об'єкт запису, використовуючи код VBA нижче:

    Dim rsMyTables Як встановити DAO.Recordset rsMyTables = CurrentDb.OpenRecordset ("MyQuery")

  2. Прокрутіть кожен запис завершеного запиту.

    Dim rsMyTables Як встановити DAO.Recordset rsMyTables = CurrentDb.OpenRecordset ("MyQuery")


    Кодекс Do Do Not rsMyTables.EOF для маніпулювання даними

    rsMyTables.MoveNext Loop

  3. Додайте ім'я до кожної таблиці списку, змінивши її петлю:

    Dim rsMyTables Як встановити DAO.Recordset rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear

    Робіть, поки не rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Name]

    rsMyTables.MoveNext Loop

  4. Закрийте об'єкт реєстру, щоб звільнити пам'ять, яку вона використовує:

    Dim rsMyTables Як встановити DAO.Recordset rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear

    Робіть, поки не rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Name]

    rsMyTables.MoveNext Loop

    rsMyTables.Close Set rsMyTables = Нічого

Як

  • Макроси, створені в Visual Basic for Applications (VBA), яка є мовою програмування Microsoft Office Standard.
  • Ви можете вказати будь-який з цих об'єктів у Access, змінивши фільтр "MSysObject.Type". Параметри для цього значення наведені нижче:
  • Таблиця = 1
  • Запит = 5
  • Пов'язана таблиця = 4, 6 або 8
  • Форма = -32768
  • Звіт = -32764
  • Модуль = -32761