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

מְחַבֵּר: Robert Simon
תאריך הבריאה: 20 יוני 2021
תאריך עדכון: 1 יולי 2024
Anonim
Anonymize Random in Access Database tables queries vba
וִידֵאוֹ: Anonymize Random in Access Database tables queries vba

תוֹכֶן

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


הוראות

גישה למאגר מידע מבנה הנתונים בטבלה MSysObjects (תמונה אחסון נתונים על ידי Kir מ Fotolia.com)

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

  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 להלן:

    עמעום rsMyTables כמו DAO.Recordset קבע rsMyTables = CurrentDb.OpenRecordset ("MyQuery")

  2. גלול לאורך כל רשומה של השאילתה שהושלמה.

    עמעום rsMyTables כמו DAO.Recordset קבע rsMyTables = CurrentDb.OpenRecordset ("MyQuery")

    האם לא rsMyTables.EOF 'קוד כדי לתפעל נתונים


    rsMyTables.MoveNext לולאה

  3. הוסף שם לכל טבלה עבור רשימה על ידי שינוי הלולאה שלה:

    עמעום rsMyTables כמו DAO.Recordset הגדר rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear

    האם לא rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [שם]

    rsMyTables.MoveNext לולאה

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

    עמעום rsMyTables כמו DAO.Recordset הגדר rsMyTables = CurrentDb.OpenRecordset ("MyQuery") Me.cmbMyComboBox.Clear

    האם לא rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [שם]

    rsMyTables.MoveNext לולאה

    rsMyTables.Close בחר rsMyTables = שום דבר

איך

  • פקודות מאקרו המבוצעות ב- Visual Basic for Applications (VBA), שהיא שפת תכנות סטנדרטית של Microsoft Office.
  • ניתן לרשום כל אחד מאובייקטים אלה ב- Access על-ידי שינוי המסנן "MSysObject.Type". האפשרויות לערך זה מפורטות להלן:
  • טבלה = 1
  • שאילתה = 5
  • טבלה מקושרת = 4, 6 או 8
  • טופס = -32768
  • Online = -32764
  • מודול = -32761