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)-
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
-
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 *";
-
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
-
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
Dobivanje popisa tablica
-
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")
-
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
-
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
-
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
Koristite popis tablica u VBA
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