כיצד לבצע שאילתה VBA ברשימת Access את הטבלאות במסד הנתונים
קבל רשימה של טבלאות
שלב 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 = שום דבר