Kako dobiti pristup u VBA upitima za popis tablica u bazi podataka

Autor: Robert Simon
Datum Stvaranja: 18 Lipanj 2021
Datum Ažuriranja: 1 Srpanj 2024
Anonim
Kako dobiti pristup u VBA upitima za popis tablica u bazi podataka - Članci
Kako dobiti pristup u VBA upitima za popis tablica u bazi podataka - Članci

Sadržaj

Microsoft Access je sustav za upravljanje bazom podataka koji korisnicima omogućuje stvaranje vlastitih baza podataka, izvješća i obrazaca. Pristup sadrži sve gradivne elemente za razvoj malih aplikacija. Možete stvoriti tablice podataka, pohranjene procedure, funkcije i makronaredbe, kao i obrasce i izvješća. Sve ove komponente imaju vlastite pokazivače ili definicije zapisa pohranjene u skrivenoj sistemskoj tablici. Access vodi evidenciju svake tablice, izvješća, obrasca itd. koje stvarate i pohranjuje podatke kao što su datum izrade ili ažuriranja i zastavice sustava.


smjerovi

Access pohranjuje informacije o strukturi baze podataka u tablici MSysObjects (slika pohrane podataka Kira iz Fotolia.com)

    Dobivanje popisa tablica

  1. Izradite upit koji pokreće SQL naredbu ispod. Ovaj upit prikazuje popis svih tablica u trenutnoj bazi podataka programa Access. Klauzula "gdje" pomoću broja 1 služi za označavanje da želimo samo navedene tablice.

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

  2. Vratite upit u nesistematske tablice u bazu podataka, s primjerom u nastavku:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags iz MSysObjects WHERE MSysObjects.Type = 1 I MSysObjects.Name Ne kao "MSys *";


  3. Unesite popis skrivenih tablica baze podataka pokretanjem upita u nastavku:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags iz MSysObjects WHERE MSysObjects.Type = 1 i MSysObjects.Flags <> 8

  4. Sortirajte popis ne-skrivenih, ne-sustavnih tablica koristeći sljedeći SQL kod:

    SELECT MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags iz MSysObjects WHERE MSysObjects.Type = 1 I MSysObjects.Flags <> 8 I MSysObjects.Name Ne poput "MSys"; ORDER BY MSysObjects.Name

    Koristite popis tablica u VBA

  1. Učitajte svoj popis tablica u objekt zapisa koristeći VBA kôd u nastavku:

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

  2. Pomičite se kroz svaki zapis dovršenog upita.

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


    Učinite dok ne rsMyTables.EOF 'kod za upravljanje podacima

    rsMyTables.MoveNext Loop

  3. Dodajte naziv svakoj tablici za popis izmjenom njegove petlje:

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

    Učinite dok ne rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Name]

    rsMyTables.MoveNext Loop

  4. Zatvorite objekt registra da biste oslobodili memoriju koju koristi:

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

    Učinite dok ne rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [Name]

    rsMyTables.MoveNext Loop

    rsMyTables.Close Set rsMyTables = Ništa

savjeti

  • Makronaredbe izrađene u Visual Basicu za aplikacije (VBA), programskom jeziku Microsoft Office Standard.
  • Možete navesti bilo koji od ovih objekata u programu Access promjenom filtra "MSysObject.Type". U nastavku su navedene opcije za ovu vrijednost:
  • Tablica = 1
  • Upit = 5
  • Povezana tablica = 4, 6 ili 8
  • Form = -32768
  • Izvješće = -32764
  • Modul = -32761