방법 1 : Ado의 OpenSchema () 메소드를 사용하여 adschematables를 열고 스키마 레코드 세트를 만듭니다.
암호:
<%
constadschematables = 20
adschemacolumns = 4
Dimconn, DB
Dimconnstr
db = "temp.mdb" '액세스 데이터베이스 파일 이름, 웹 사이트의 루트 디렉토리와 관련된 절대 경로를 사용하십시오.
connstr = "제공자 = 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 : 액세스 시스템 테이블 MSYSOBJECTS에는 데이터베이스 개체 목록이 포함되어 있습니다. 문서에 문서화되어 있지 않지만 쿼리를 통해 원하는 것을 얻을 수 있습니다. 그러나 기본적으로 운영 체제 테이블을 작동 할 수 없으며 시스템 테이블을 쿼리하기 위해 수동으로 권한을 설정해야합니다.
다음 애니메이션을 참조하십시오. msysobject http://blog.iyi.cn/user/david/archives/images/msobject.swf에 대한 작동 권한을 얻는 방법
그러나 Access2003에서 이러한 시스템 테이블을 찾을 수 없습니다. M $가 Access의 보안을 향상시키는 지 모르겠습니다.
다음 SQL 문을 사용하여 원하는 것을 얻으십시오.
암호:
질문:
SelectMSySoBjects.NameFrommsySoBjectSwHere (왼쪽 ([이름], 1) <> "~") 및 (MSYSOBJECTS.TYPE) = 5OrderBymsySoBjects.name;
형태:
selectMSySOBJECTS.NAMEFROMMSYSOBJECTSWHERE (left ([name], 1) <> "~") 및 (msysObjects.Type) = -32768OrderBymsySoBjects.name;
표면:
SelectMSySoBjects.nameFrommsySoBjectSwHere (왼쪽 ([name], 1) <> "~") 및 (왼쪽 $ ([name], 4) <> "msys") 및 (msysObjects.type) = 1oRderBymsySoBjects.name;
보고서:
selectMSySOBJECTS.NAMEFROMMSYSOBJECTSWHERE (left ([name], 1) <> "~") 및 (msysObjects.Type) = -32764OrderBymsySoBjects.name;
기준 치수:
SelectMSySOBJECTS.NAMEFROMMSYSOBJECTSWHERE (left ([name], 1) <> "~") 및 (msysObjects.Type) = -32761OrderBymsySobjects.name;
매크로 :
SelectMSySoBjects.NameFrommsySoBjectSwHere (왼쪽 ([name], 1) <> ") 및 (msysObjects.Type) = -32766OrderBymsySoBjects.name;