可能很多在使用Access的朋友都沒有打開過Access的系統內建表,這篇文章可以幫助大家簡單了解下系統內建表。
程式碼
<%sqlcmd="select name from [msysobjects] 其中 type=1 and flags=0"%>
用這條語句就可以取得Access資料庫中所有表,但需要設定讀取MSysObjects表的權限,否則會出現「不能讀取記錄;在'MSysObjects'上沒有讀取資料權限」的錯誤提示。
office 2003設定:工具-> 選項-> 視圖-> 勾選隱藏物件、系統物件。工具-> 安全性-> 使用者與群組的權限,在物件名稱中選定MSysObjects ,然後權限中設定其讀取權限。
office 2007設定:點選左上角圖示-> Access選項-> 目前資料庫-> 導覽-> 導覽選項-> 勾選顯示隱藏對象,顯示系統對象。資料庫工具選項卡-> 使用者與權限-> 使用者與群組權限,物件類型選擇表,物件名稱選定MSysObjects,然後勾選「讀取資料」權限
還有一種方法可以實現讀取Access資料庫中所有表:
程式碼
<%
set rs=conn.openSchema(20)'傳回包含模式資訊的Recordset 對象
rs.filter="table_type='table'"'篩選table_type為table類型的資料表,其他型別為系統內建表
do while not rs.eof
response.write(rs("TABLE_NAME"))'用recordset記錄集取得列名為table_name的數據
response.Write("<br />")
rs.movenext:loop
%>