Access を使用している友人の多くは、Access のシステム組み込みテーブルを開いたことがないかもしれません。この記事は、システムの組み込みテーブルについて簡単に理解するのに役立ちます。
プログラムコード
<%sqlcmd="[msysobjects] から名前を選択 (type=1 および flags=0)"%>
このステートメントを使用して Access データベース内のすべてのテーブルを取得できますが、MSysObjects テーブルの読み取り権限を設定する必要があります。設定しないと、「レコードを読み取れません。'MSysObjects' のデータを読み取る権限がありません」というエラー メッセージが表示されます。
Office 2003 の設定: [ツール]->[オプション]->[表示]->[隠しオブジェクトとシステム オブジェクトを確認]。 [ツール] -> [セキュリティ] -> [ユーザーとグループのアクセス許可] で、オブジェクト名で MSysObjects を選択し、アクセス許可でその読み取り許可を設定します。
Office 2007 の設定: 左上隅のアイコンをクリックし、[アクセス オプション] -> [現在のデータベース] -> [ナビゲーション] -> [ナビゲーション オプション] -> [隠しオブジェクトを表示] をオンにして、システム オブジェクトを表示します。 [データベース ツール] タブ -> [ユーザーと権限] -> [ユーザーとグループの権限] で、オブジェクト タイプとしてテーブルを選択し、オブジェクト名として MSysObjects を選択して、[データの読み取り] 権限をチェックします
。アクセスデータベース:
プログラムコード
<%
set rs=conn.openSchema(20)' は、スキーマ情報を含む Recordset オブジェクトを返します。
rs.filter="table_type='table'"'table_type がテーブル タイプで、その他のタイプがシステム組み込みテーブルであるデータ テーブルをフィルタリングします。
rs.eof ではないときに実行します
response.write(rs("TABLE_NAME"))' レコードセット レコード セットを使用して、列名 table_name のデータを取得します
response.Write("<br />")
rs.movenext:ループ
%>