كيفية الوصول إلى استعلامات VBA لسرد الجداول في قاعدة البيانات

مؤلف: Robert Simon
تاريخ الخلق: 19 يونيو 2021
تاريخ التحديث: 23 شهر نوفمبر 2024
Anonim
حماية قاعدة البيانات #3 - اخفاء الجداول - شرح تفصيلي لاخفاء الجداول والاستعلامات
فيديو: حماية قاعدة البيانات #3 - اخفاء الجداول - شرح تفصيلي لاخفاء الجداول والاستعلامات

المحتوى

Microsoft Access هو نظام لإدارة قواعد البيانات يسمح للمستخدمين بإنشاء قواعد البيانات والتقارير والنماذج الخاصة بهم. يحتوي Access على جميع العناصر الأساسية لتطوير التطبيقات الصغيرة. يمكنك إنشاء جداول البيانات والإجراءات المخزنة والوظائف ووحدات الماكرو ، وكذلك النماذج والتقارير. كل هذه المكونات لها مؤشراتها الخاصة أو تعريفات السجل المخزنة في جدول نظام مخفي. يحتفظ Access بسجلات كل جدول ، تقرير ، نموذج ، إلخ. الذي تقوم بإنشائه وكذلك بتخزين البيانات مثل تاريخ إنشائها أو تحديثها وعلامات النظام.


الاتجاهات

يقوم Access بتخزين معلومات بنية قاعدة البيانات في جدول MSysObjects (صورة تخزين البيانات من قبل Kir من Fotolia.com)

    الحصول على قائمة الجداول

  1. قم بإنشاء استعلام يقوم بتشغيل أمر SQL أدناه. يعرض هذا الاستعلام قائمة بجميع الجداول في قاعدة بيانات Access الحالية. تشير عبارة "أين" التي تستخدم الرقم 1 ، إلى أننا نريد فقط أن يتم نقل الجداول.

    SELECT MSysObjects.Name و MSysObjects.DateCreate و MSysObjects.DateUpdate و MSysObjects.Type و MSysObjects.Flags FROM من MSysObjects WHERE MSysObjects.Type = 1

  2. قم بإرجاع استعلام الجداول غير النظامية في قاعدة البيانات ، مع المثال التالي:

    SELECT MSysObjects.Name و MSysObjects.DateCreate و MSysObjects.DateUpdate و MSysObjects.Type و MSysObjects.Flags من MSysObjects. WHERE MSysObjects.Type = 1 و MSysObjects.Name Not Like "MSys *"؛


  3. أدخل قائمة جداول قاعدة البيانات المخفية عن طريق تشغيل الاستعلام أدناه:

    اختر MSysObjects.Name و MSysObjects.DateCreate و MSysObjects.DateUpdate و MSysObjects.Type و MSysObjects.Flags من MSysObjects. WHERE MSysObjects.Type = 1 و MSysObjects.Flags <> 8

  4. فرز قائمة الجداول غير المخفية وغير النظامية باستخدام رمز SQL التالي:

    SELECT MSysObjects.Name ، MSysObjects.DateCreate ، MSysObjects.DateUpdate ، MSysObjects.Type ، MSysObjects.Flags FROM من MSysObjects WHERE MSysObjects.Type = 1 و MSysObjects.Flags <> 8 و MSysObys. ترتيب حسب MSysObjects.Name

    استخدم قائمة الجداول في VBA

  1. قم بتحميل قائمة الجداول في كائن سجلات ، باستخدام كود VBA أدناه:

    Dim rsMyTables باسم DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery")

  2. التمرير خلال كل سجل من الاستعلام المكتمل.

    Dim rsMyTables باسم DAO.Recordset Set rsMyTables = CurrentDb.OpenRecordset ("MyQuery")


    هل بينما لا rsMyTables.EOF 'رمز لمعالجة البيانات

    rsMyTables.MoveNext حلقة

  3. أضف اسمًا لكل جدول للحصول على قائمة عن طريق تعديل الحلقة:

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

    هل بينما لا rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [الاسم]

    rsMyTables.MoveNext حلقة

  4. أغلق كائن التسجيل لتحرير الذاكرة التي يستخدمها:

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

    هل بينما لا rsMyTables.EOF Me.cmbMyComboBox.AddItem rsMyTables! [الاسم]

    rsMyTables.MoveNext حلقة

    rsMyTables.Close Set rsMyTables = لا شيء

نصائح

  • وحدات الماكرو التي يتم إجراؤها في Visual Basic for Applications (VBA) ، وهي لغة برمجة Microsoft Office Standard.
  • يمكنك سرد أي من هذه الكائنات في Access عن طريق تغيير عامل التصفية "MSysObject.Type". خيارات هذه القيمة مذكورة أدناه:
  • الجدول = 1
  • الاستعلام = 5
  • جدول مرتبط = 4 أو 6 أو 8
  • نموذج = -32768
  • تقرير = -32764
  • الوحدة النمطية = -32761