システムオブジェクト(システムテーブル)を表示する

f:id:accs2014:20170223181231p:plain:right:w200

 システムにより自動的に作成されているオブジェクト(テーブル)があります。
 通常の使い方をしている限り表示する必要は特にありませんが、この内容から有用な情報を得ることができますし、データマクロを用いてログを作成するという用途に用いることも出来ます。

 やり方ですが、まずナビゲーションウインドウで右クリックし、「ナビゲーションオプション」を選択します。


f:id:accs2014:20170223183422p:plain:right:w400

 ウインドウが現れますので、左下にある「システム オブジェクトの表示」にチェックを入れ、「OK」とします。


f:id:accs2014:20170223181229p:plain:right:w200

 これにより各種のシステムオブジェクトが表示されます。
 名前からもある程度分かるように、「MSysQueries」はクエリの定義情報を、「MSysRelationships」はリレーションシップの設定に関する情報を記録しています。
 ただ、最も重要なのは「USysApplicationLog」です。データマクロを利用することにより、このテーブルに(ユーザーが作成した通常の)テーブルに対する操作をログとして記録することができます。詳しくはデータマクロの節(こちら)で紹介しています。

 なお、システムオブジェクトの表示の設定は、設定したときのファイル(accdb)だけでなく、他のファイルにも適用されますのでご注意ください。また、「USysApplicationLog」の内容のみ常時確認したいが他のシステムオブジェクトは隠しておきたいという場合には、「USysApplicationLog」に基づくクエリを作成し、あとはシステムオブジェクトを非表示に戻す、ということも可能です。