2011/05/20

access2010 Webデータベース その49 MSysASO

MSysASOとはなんぞやと覗いてみたら、Webデータベースの構造というか仕組み的なものが見えてきたような気がした。

Access Servicesサイトのすべてのサイトコンテンツをみると、
Access Services System Objectとなっている。触るな危険って感じ。

でも、いじってしまうんだけど。
実際のフィールドはもういくつかあるけれども表示されるものには、
  • Title オブジェクト名
  • Type オブジェクトのタイプ(フォーム:2/テーブル:0/モジュール:5という感じ)
  • Revision オブジェクトのバージョン(Updateで重要)
  • ClientObject クライアントフォームとか。SaveAsText出力内容と同じだと思う。
  • ClientObjectProperties フォームなどのプロパティ/テーブルだとフィールド情報
  • ServerObject WebフォームだとUIマクロ/テーブルだとデータマクロ
  • ServerObjectProperties ブラウザ表示フォームのプロパティ
  • Object GUID SharePointリストIDかな。
  • SupportingObjectNames なんだろう?フォームのレコードソースっぽい
  • Status なんだろか
  • Flags 表示/非表示程度ではなかろうか
  • 添付ファイル フォームやレポートに使用されているアイコンやボタンのイメージ
というフィールドが存在している。事細かに取調べはしないけれども、MSysASOというSharePointリストの同期をさせることでデータを除くアプリケーションの同期を行っているのだろう。
クライアント上でWebデータベースを開く

何よりも先にサインオン/ユーザ認証

MSysASOの同期

同期結果に基づいてクライアント上accdbのオブジェクトを更新

ファイル開いた状態

てな、感じなのだろう。
以下、うっかり試したこと。
DBPropsというレコードがあるのだけど、ここをみるとカレントデータベースのプロパティがxmlで記録されている。SharePoint側でアイテムの編集を少しだけ(True/False程度)変更し、Revisionを1増やしてみた。で、クライアントですべての同期を実行するとそのプロパティ通りになる。調子に乗ってAllowBypasskey=Falseを追加したらShiftは無視された。

0 件のコメント: