FileMakerでアプリケーションを組むメリットのひとつに、レイアウトが組みやすい点があげられる。直感的に線や丸・長方形やフィールドを配置できるので、簡単に帳票もデザインすることが可能だ。この辺りの操作性はFileMaker Pro 5といった旧バージョンから変わっておらず、いまでも「FileMaker = 帳票が組みやすい」というイメージを持つユーザ/デベロッパは少なくないだろう。前回よりFileMaker Pro Advancedの機能「データベースデザインレポート」を活用したWeb帳票を実装するにあたり、XMLの見方について紹介している。今回は、フィールドオブジェクトに関連する属性・プロパティを紹介しよう。

データベースデザインレポートの仕様 - フィールドオブジェクトに関連する属性・プロパティ

Layout->Object->FieldObj->Name

Layout->Object->FieldObj->DDRInfo->Field['name']

フィールド名が格納される。Layout->Object->FieldObj->Nameでは、現在のテーブルか関連先テーブルかに関わらず、(テーブルオカレンス名)::(フィールド名)となる。

フィールド名/テーブル名はそれぞれ赤枠部の箇所で取得が可能

Layout->Object->FieldObj['numOfReps']

該当フィールドオブジェクトの繰り返し数が格納される。横方向に繰り返しを表示している場合は正の数、縦方向に繰り返しを表示している場合は負の数となる。

繰り返し数はnumOfRepsに格納される。数値の正/負でどちらの向きに繰り返しが展開されているかを判断する

Layout->Object->FieldObj['displayType']

該当フィールドオブジェクトのコントロールスタイルが格納される。対応する値は次のとおり。

displayType値 対応するコントロールスタイル
0 編集ボックス(Edit Box)
1 ドロップダウンリスト(Drop-down List)
2 ポップアップメニュー(Pop-up Menu)
3 チェックボックスセット(Checkbox Set)
4 ラジオボタンセット(Radio Button Set)
6 ドロップダウンカレンダー(Calendar popup)

displayType値の5はなぜか欠番となっている。

displayTypeにはフィールドのコントロールスタイルが格納される。displayType: 5は存在しないので注意

Layout->Object->FieldObj->ValueList

Layout->Object->FieldObj->DDRInfo->ValueList['name']

Layout->Object->FieldObj->DDRInfo->ValueList['id']

該当フィールドオブジェクトに設定した値一覧のidと名前が格納される。このidを使用して、ValueListCatalog->ValueListから値一覧情報を取得する。

各ValueListには値一覧のid/名前が格納されている。idを使用してValueListCatalogから値一覧情報を取得することもできるが、値一覧で選択する文字列の長さやレンダリングの都合上、帳票レイアウトを自動化するのがむずかしい。HTMLコードを出力するPHPロジックを実装したら、ここは手動で調整をおこなったほうが良いかもしれない

このほか帳票のデザインにはあまり影響がないが、入力メソッドやクイック検索に関連する属性・プロパティも紹介しておこう。FileMaker ProのインスタントWeb公開にちかい実装をおこなう際に参考にしてほしい。

Layout->Object->FieldObj['inputMode']

インプットメソッドの設定(Windowsでは「IMEモードの切り替え」)が格納される。対応する値は次のとおり。

inputMode値 対応するインプットメソッドの設定 使用できるオペレーティングシステム
0 自動 Windows, Mac OS
128 フォントと連動(Synch Field Font) Windows, Mac OS
129 日本語入力オン(Japanese Active) Windows
130 直接入力(Japanese Direct) Windows
131 ひらがな(Hiragana) Windows
132 全角カタカナ(Full-Width Katakana) Windows
133 全角英数字(Full-Width Alpha) Windows
134 半角カタカナ(Half-Width Katakana) Windows
135 半角英数字(Half-Width Alpha) Windows

これらのうち一部の値はWindows版FileMakerでのみ設定をおこなうことができ、Mac版FileMakerではその設定値を使用/確認することができない。(レイアウト情報としては保存されているので、データベースデザインレポート上では確認可能。参考: フィールドのテキスト入力方法の設定)

Macに対応していない値がセットされている場合、インスペクタ上では設定値が空欄となる

この状態でもレイアウト情報としては保存されているので、データベースデザインレポートには問題無く出力される

Layout->Object->FieldObj['quickFind']

該当フィールドがクイック検索の対象に含まれているかどうかを示す。含まれている場合は1、含まれていない場合は0が格納される。

クイック検索の対象に含めるかどうかは、フィールドオブジェクトを選択した上でインスペクタから設定をおこなう。チェックがついている場合、quickFindの値は1となる

次回はこれまでに取りあげたプロパティ値のまとめ、およびSimpleXMLを使っての取得の方法を紹介しよう。