الطريقة 1: استخدم طريقة OpenSchema () من Ado لفتح AdSchematables وإنشاء مجموعة سجلات مخطط
شفرة:
<٪
constadschematables = 20
adschemacolumns = 4
Dimconn ، DB
DimConnstr
db = "temp.mdb" اسم ملف قاعدة بيانات الوصول ، يرجى استخدام المسار المطلق بالنسبة إلى الدليل الجذر للموقع
connstr = "provider = microsoft.jet.oledb.4.0 ؛ datasource =" & server.mappath (db)
setConn = server.createObject ("adodb.connection")
Conn.Openconnstr
Dimrstschema
خافت
setRstsChema = conn.openschema (adschematables)
dowhilenottrstschema.eof
Response.write ("TableName:" & rstschema ("table_name") & vbcr & _
"TableType:" & rstschema ("table_type") و VBCR)
Response.write ("<br/>")
i = i+1
RSTSCHEMA.Movenext
حلقة
RSTSCHEMA.CLOSE
conn.close
٪>
الطريقة 2: جدول نظام Access MsysObjects يحتوي على قائمة كائنات قاعدة البيانات. على الرغم من عدم توثيقه في الوثائق ، لا يزال بإمكانك الحصول على ما تريده عن طريق الاستعلام عنه. ومع ذلك ، بشكل افتراضي ، لا يمكن تشغيل جدول نظام التشغيل ، ويجب ضبط الأذونات يدويًا للاستعلام عن جدول النظام.
يرجى الرجوع إلى الرسوم المتحركة التالية: كيفية الحصول على أذونات العملية لـ MsySObject http://blog.iyi.cn/user/david/archives/images/msobject.swf
ومع ذلك ، لا يمكنني العثور على جداول النظام هذه في Access2003. لا أعرف ما إذا كان M $ يعزز أمان Access.
استخدم عبارة SQL التالية للحصول على ما تريد
شفرة:
استفسار:
SelectsSysObjects.namefrommsoSoBjectSwhere (يسار ([الاسم] ، 1) <> "~") و (msysObjects.type) = 5orderByMSOBjects.name ؛
استمارة:
SelectsSySObjects.NameFrommSoSoBjectSwhere (يسار ([الاسم] ، 1) <> "~") و (msysobjects.type) =-32768OrderByMSOBJESSS.NAME ؛
سطح:
SelectsSysObjects.namefrommSysObjectSwhere (يسار ([name] ، 1) <> "~") و (اليسار $ ([name] ، 4) <> msys ") و (msysobjects.type) = 1OrderByMSOBjects.name ؛
تقرير:
SelectsSySObjects.NameFrommSysObjectSwhere (يسار ([الاسم] ، 1) <> "~") و (msysObjects.type) =-32764OrderByMSOBJECTS.NAME ؛
الوحدة:
SelectsSysObjects.NameFrommSysObjectSwhere (يسار ([name] ، 1) <> "~") و (msysobjects.type) =-32761OrderByMSOBJECTS.NAME ؛
الماكرو:
SelectsSysObjects.namefrommSysObjectSwhere (يسار ([name] ، 1) <> "~") و (msysObjects.type) =-32766DorderByMSOBjects.name ؛