Kā iegūt piekļuvi VBA vaicājumos, lai uzskaitītu tabulas datubāzē

Autors: Robert Simon
Radīšanas Datums: 19 Jūnijs 2021
Atjaunināšanas Datums: 1 Maijs 2024
Anonim
Convert Query SQL to VBA Code in Microsoft Access. Add Line Breaks, Quotes, vbNewLine, and More.
Video: Convert Query SQL to VBA Code in Microsoft Access. Add Line Breaks, Quotes, vbNewLine, and More.

Saturs

Microsoft Access ir datu bāzes pārvaldības sistēma, kas ļauj lietotājiem izveidot savas datu bāzes, pārskatus un veidlapas. Piekļuve satur visus celtniecības blokus, kas paredzēti nelielai lietojumprogrammu izstrādei. Varat izveidot datu tabulas, saglabātās procedūras, funkcijas un makro, kā arī veidlapas un atskaites. Visiem šiem komponentiem ir savas norādes vai ierakstu definīcijas, kas saglabātas slēptās sistēmas tabulā. Piekļuve saglabā ierakstus par katru tabulu, ziņojumu, veidlapu utt. kuru izveidojat, kā arī saglabā datus, piemēram, datumu, kad tas tika izveidots vai atjaunināts, un sistēmas karodziņus.


Instrukcijas

Piekļuve saglabā datu bāzes struktūras informāciju MSysObjects tabulā (datu glabāšanas attēls no Kir no Fotolia.com)

    Tabulu saraksta iegūšana

  1. Izveidojiet vaicājumu, kas vada tālāk norādīto SQL komandu. Šis vaicājums parāda visu tabulu sarakstu pašreizējā piekļuves datubāzē. "Kur" klauzula, izmantojot numuru 1, kalpo, lai norādītu, ka mēs vēlamies tikai norādīt tabulas.

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

  2. Atgrieziet nesistemātisko tabulu vaicājumu datubāzē, izmantojot tālāk norādīto piemēru:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags NO MSysObjects WHERE MSysObjects.Type = 1 UN MSysObjects.Name Not Like "MSys *";


  3. Ievadiet slēpto datu bāzes tabulu sarakstu, izpildot tālāk norādīto vaicājumu:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags NO MSysObjects WHERE MSysObjects.Type = 1 UN MSysObjects.Flags <> 8

  4. Kārtot neslēpto, ne-sistemātisko tabulu sarakstu, izmantojot šādu SQL kodu:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags NO MSysObjects WHERE MSysObjects.Type = 1 UN MSysObjects.Flags <> 8 UN MSysObjects.Name Not Like "MSys"; ORDER BY MSysObjects.Name

    Izmantojiet VBA tabulu sarakstu

  1. Ievietojiet tabulu sarakstu ierakstu objektā, izmantojot tālāk norādīto VBA kodu:

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

  2. Ritiniet katru pabeigta vaicājuma ierakstu.

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


    Dariet, kamēr nav rsMyTables.EOF 'kods, lai manipulētu ar datiem

    rsMyTables.MoveNext Loop

  3. Pievienojiet nosaukumu katrai saraksta tabulai, mainot tā cilpu:

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

    Vai nav rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Vārds]

    rsMyTables.MoveNext Loop

  4. Aizveriet reģistra objektu, lai atbrīvotu atmiņā izmantoto atmiņu:

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

    Vai nav rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Vārds]

    rsMyTables.MoveNext Loop

    rsMyTables.Close Set rsMyTables = Nekas

  • Makro, kas tiek veidota lietojumprogrammā Visual Basic for Applications (VBA), kas ir Microsoft Office Standard programmēšanas valoda.
  • Jūs varat uzskaitīt jebkuru no šiem objektiem programmā Access, mainot filtru "MSysObject.Type". Šīs vērtības opcijas ir norādītas tālāk:
  • Tabula = 1
  • Vaicājums = 5
  • Saistītā tabula = 4, 6 vai 8
  • Veids = -32768
  • Ziņojums = -32764
  • Modulis = -32761