Как да получите достъп до VBA заявки за изброяване на таблиците в базата данни

Автор: Robert Simon
Дата На Създаване: 16 Юни 2021
Дата На Актуализиране: 1 Юли 2024
Anonim
Трюк Excel 30.  Форма для заполнения таблицы Excel
Видео: Трюк Excel 30. Форма для заполнения таблицы Excel

Съдържание

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.

  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. ORDER BY MSysObjects.Name

    Използвайте списъка с таблици във VBA

  1. Заредете списъка си с таблици в обект за записи, като използвате VBA кода по-долу:

    Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery")

  2. Превъртете през всеки запис на завършената заявка.

    Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery")

    Да, докато не rsMyTables.EOF 'код за манипулиране на данни

    rsMyTables.MoveNext Loop

  3. Добавете име към всяка таблица за списък, като промените неговия цикъл:


    Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear

    Да, докато не rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Name]

    rsMyTables.MoveNext Loop

  4. Затворете обекта на системния регистър, за да освободите паметта, която използва:

    Dim rsMyTables As DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear

    Да, докато не rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Name]

    rsMyTables.MoveNext Loop

    rsMyTables.Close Set rsMyTables = Нищо

съвети

  • Макроси, които са направени в Visual Basic за приложения (VBA), който е език за програмиране на Microsoft Office Standard.
  • Можете да изброите всеки от тези обекти в Access, като промените филтъра "MSysObject.Type". Опциите за тази стойност са изброени по-долу:
  • Таблица = 1
  • Заявка = 5
  • Свързана таблица = 4, 6 или 8
  • Форма = -32768
  • Отчет = -32764
  • Модул = -32761