כיצד לבצע שאילתה VBA ברשימת Access את הטבלאות במסד הנתונים

Access מאחסן מידע על מבנה מסד הנתונים בטבלה MSysObjects.

קבל רשימה של טבלאות

שלב 1

צור שאילתה כדי לבצע את פקודת SQL המוצגת להלן. שאילתה זו מקבלת רשימה של כל הטבלאות במסד הנתונים הנוכחי של Access. ההצהרה במקום משתמשת במספר 1 כדי לציין שאנו רוצים שהטבלאות יופיעו.

בחר MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags מאת MSysObjects WHERE MSysObjects.Type = 1

שלב 2

השג רשימה שמכילה רק את הטבלאות במסד הנתונים שאינם מהמערכת, כאשר הדוגמה הבאה מוצגת להלן:

בחר MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags מאת MSysObjects כאשר MSysObjects.Type = 1 ו- MSysObjects.Name לא כמו 'MSys'

שלב 3

השג רשימה המכילה רק את הטבלאות שאינן מוסתרות במסד הנתונים על-ידי ביצוע השאילתה הבאה:

בחר MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags מאת MSysObjects WHERE MSysObjects.Type = 1 ו- MSysObjects.Flags 8

שלב 4

מיין את רשימת הטבלאות הלא-מוסתרות של המערכת, תוך שימוש בקוד SQL הבא:

בחר את MSysObjects.Name, MSysObjects.DateCreate, MSysObjects.DateUpdate, MSysObjects.Type, MSysObjects.Flags מ- MSysObjects כאשר MSysObjects.Type = 1 ו- MSysObjects.Flags 8 ו- MSysObjects.Name לא כמו 'MSys' 'ORDER מאת MSysObjects.Name

השתמש ברשימת השולחנות ב- VBA

שלב 1

טען את רשימת השולחנות לתוך אובייקט להגדיר שיא באמצעות קוד VBA המוצג להלן:

עמעם rsMisTablas כמו DAO.Recordset קבע rsMisTablas = CurrentDb.OpenRecordset ('MyConsulta')

שלב 2

גלול במחזור דרך כל רשומה שהתקבלה בשאילתה.

עמעם rsMisTablas כמו DAO.Recordset קבע rsMisTablas = CurrentDb.OpenRecordset ('MyConsulta')

האם לא rsMisTablas.EOF 'קוד כדי לתפעל מידע

rsMisTablas.MoveNext לולאה

שלב 3

הוסף את השמות של כל טבלה לרשימה נפתחת שמשנה את מחזור המחזור שלך:

ענן rsMisTablas כמו DAO.Recordset הגדר rsMisTablas = CurrentDb.OpenRecordset ('MyConsulta') Me.cmbMiComboBox.Clear

האם לא rsMisTablas.EOF Me.cmbMiComboBox.AddItem rsMisTablas! [שם]

rsMisTablas.MoveNext לולאה

שלב 4

סגור את אובייקט קבוצת הרשומות כדי לשחרר את הזיכרון שבו אתה משתמש:

ענן rsMisTablas כמו DAO.Recordset הגדר rsMisTablas = CurrentDb.OpenRecordset ('MyConsulta') Me.cmbMiComboBox.Clear

האם לא rsMisTablas.EOF Me.cmbMiComboBox.AddItem rsMisTablas! [שם]

rsMisTablas.MoveNext לולאה

rsMisTablas.Close קבע rsMisTablas = שום דבר