MsysObjects值的含义-32758,-32757和3(Microsoft Access)

waa*_*ers 8 ms-access ms-access-2007

我正在查询MsysObjects表,以便列出我数据库中的对象:

SELECT MsysObjects.Name, MsysObjects.Type
FROM MsysObjects
WHERE (((Left$([Name],1))<>'~') AND ((Left$([Name],4))<>'Msys'))
ORDER BY MsysObjects.Name;
Run Code Online (Sandbox Code Playgroud)

我知道这个值的含义:

-32768 = Form
-32766 = Macro
-32764 = Report
-32761 = Module
1 = Table
5 = Query
6 = Linked Table
Run Code Online (Sandbox Code Playgroud)

但是-32758,-32757和3呢?他们代表哪里?无法在网上找到它.

Fio*_*ala 17

Type   TypeDesc
-32768  Form
-32766  Macro
-32764  Reports
-32761  Module
-32758  Users
-32757  Database Document
-32756  Data Access Pages
1   Table - Local Access Tables
2   Access Object - Database
3   Access Object - Containers
4   Table - Linked ODBC Tables
5   Queries
6   Table - Linked Access Tables
8   SubDataSheets

- http://www.access-programmers.co.uk/forums/showthread.php?t=103811


Dav*_*ton 5

我倾向于避免使用系统表。一方面,临时对象可能会出现在那里并混淆事物。要获得相同的信息,您可以使用:

  CurrentDB.TableDefs
  CurrentDB.QueryDefs
  CurrentProject.AllForms
  CurrentProject.AllReports
  CurrentProject.AllMacros
Run Code Online (Sandbox Code Playgroud)

这是获取信息的记录方式。不推荐依赖于未记录的系统表。