作成日:2024年09月30日
デフォルトフィールドを使いこなす


どうも、にゃん太です
ファイルメーカーではテーブルを作成した時に自動でフィールドを作成する機能があり、その作成内容は編集可能です
今回のメモでは、デフォルトフィールドについて書いていきます
デフォルトフィールドとは
ファイルメーカーでテーブルを新規作成すると、最初から5つのフィールドが作成されています
- 主キー
- 作成情報タイムスタンプ
- 作成者
- 修正情報タイムスタンプ
- 修正者
この様に、デフォルトで作成されるフィールドを制御するのがデフォルトフィールド機能です
上記5つのフィールドは多くの場合で作成されるフィールドであり、いちいち作成しなくても予め用意されているので、作業の時短の役に立ちます
デフォルトフィールドのカスタマイズ
とはいえ、あらかじめ設定された初期フィールドでは自分の作業ルールと合致しない事もあるでしょう
幸い、デフォルトフィールドは自分でカスタマイズする事が可能です
それ程難しくないので、自分ルールに合わせて修正して作業効率を効率化しましょう
デフォルトフィールド設定ファイルの保存場所
デフォルトフィールドの設定ファイルは、以下の場所に保存されています
- macOS: /Applications/FileMaker Pro.app/Contents/Resources/ja.lproj/FMDefaultFields.xml
- Windows: C:¥Program Files¥FileMaker¥FileMaker Pro¥Extensions¥Japanese¥FMDefaultFields.xml
尚、このファイルは編集せず、構造の参考にするだけにして下さい
自作したデフォルトフィールドの設定ファイルは、別の場所に保存します
- macOS: /Users/Shared/FileMaker/Shared/FMDefaultFields.xml
- Windows: C:¥ProgramData\FileMaker¥Shared¥FMDefaultFields.xml
デフォルトフィールド設定ファイルの構造
デフォルトフィールドの設定ファイルは、XML構造で作成されています
XML
<?xml version="1.0" encoding="UTF-8"?> <FMDefaultFields version="2.1.0.0" Source="19.0.1" locale="English"> <ObjectList membercount="X">ここにフィールド情報のタグを入れる
</ObjectList> </FMDefaultFields>
「membercount」要素に作成するフィールドの数を入れます
フィールドタグ設定
肝心のフィールド情報は次の様になります
XML
<Field id="1" name="フィールド名" fieldtype="Normal" datatype="Text" comment="コメント"> </Field>
「id」要素は省略しても自動設定されます
「name」要素はフィールド名で、命名ルールは通常のフィールド作成時と同じです
「fieldtype」要素は計算式かどうかの指定となり、計算式の場合は「Calculated」を、それ以外の場合は「Normal」を指定します
「datatype」要素は値のタイプを指定する項目で、設定値は下記の通りです
- text : テキスト
- Number : 数字
- Date : 日付
- Time : 時刻
- Timestamp : タイムスタンプ
- Binary : オブジェクト
「comment」要素はフィールドのコメントを設定します
オプション設定が不要なら、このタグだけでフィールドは作成されます(不足情報はデフォルト内容で補完されます)
入力値の自動化
フィールド設定時の「入力値の自動化」タブの項目にある内容を設定する場合は、「AutoEnter」タグで設定します
作成情報「日付」を設定する
XML
<AutoEnter type="CreationDate"> </AutoEnter>
作成情報「時刻」を設定する
XML
<AutoEnter type="CreationTime"> </AutoEnter>
作成情報「タイムスタンプ」を設定する
XML
<AutoEnter type="CreationTimestamp"> </AutoEnter>
作成情報「名前」を設定する
XML
<AutoEnter type="CreationName"> </AutoEnter>
作成情報「アカウント名」を設定する
XML
<AutoEnter type="CreationAccountName"> </AutoEnter>
修正情報「日付」を設定する
XML
<AutoEnter type="ModificationDate"> </AutoEnter>
修正情報「時刻」を設定する
XML
<AutoEnter type="ModificationTime"> </AutoEnter>
修正情報「タイムスタンプ」を設定する
XML
<AutoEnter type="ModificationTimestamp"> </AutoEnter>
修正情報「名前」を設定する
XML
<AutoEnter type="ModificationName"> </AutoEnter>
修正情報「アカウント名」を設定する
XML
<AutoEnter type="ModificationAccountName"> </AutoEnter>
「シリアル番号」を設定する
XML
<AutoEnter type="SerialNumber"> <SerialNumber increment="1" nextvalue="1" generate="OnCreation"> </AutoEnter>
「increment」要素は増分、「nextvalue」要素は次の値、「generate」要素は値の作成タイミング(「OnCreation」が作成時、「OnCommit」が確定時)を設定します
「直前に参照したレコード値」を設定する
XML
<AutoEnter type="LastVisited"> </AutoEnter>
「データ値」を設定する
XML
<AutoEnter type="ConstantData"> <ConstantData>任意のデータ</ConstantData> </AutoEnter>
「ConstantData」タグ内に入力したい値を記述します
「計算値」を設定する
XML
<AutoEnter overwriteExisting="False" alwaysEvaluate="False"> <Calculated> <Calculation> <Text><!CDATA[任意の計算式]]></Text> </Calculation> </Calculated> </AutoEnter>
「CDATA」のカッコ内に計算式を記述します
「overwriteExisting」要素で「フィールドに既存の値が存在する場合は置き換えない」設定のON/OFFを設定します
「alwaysEvaluate」要素で「すべての参照フィールドが空の場合は評価しない」設定のON/OFFを設定します
「データ入力時の値変更の禁止」を設定する
XML
<AutoEnter prohibitModification="True"> </AutoEnter>
入力値の制限
フィールド設定時の「入力値の制限」タブの項目にある内容を設定する場合は、「Validation」タグで設定します
「このフィールドの入力値を制限する」を設定する
XML
<Validation type="Always" allowOverride="False"> </Validation>
「type」要素は値をチェックするタイミングの設定で、「Always」で常時、「OnlyDuringDateEntry」でデータの入力時のみを設定します
「allowOverride」要素は「データ入力時にユーザによる上書きを許可する」設定のON/OFFを設定します
「タイプ」を設定する
XML
<Validation> <Numeric> </Validation>
「Strict」の内容で制限タイプを指定できます
- Numeric : 数字
- FourDigitYear : 西暦4桁の日付
- Time : 時刻
「空欄不可」を設定する
XML
<Validation notEmpty="True"> </Validation>
「ユニークな値」を設定する
XML
<Validation unique="True"> </Validation>
「既存値」を設定する
XML
<Validation existing="True"> </Validation>
「下限値、上限値」を設定する
XML
<Validation> <Range to="100" from="1"></Range> </Validation>
「from」要素が下限値、「to」要素が上限値となります
この値は両方とも指定する必要があります(下限値のみの設定などはできません)
「計算式で制限」を設定する
XML
<Validation> <Calculated> <Calculation> <Text><!CDATA[任意の計算式]]></Text> </Calculation> </Calculated> </Validation>
「CDATA」のカッコ内に計算式を記述します
「最大文字数」を設定する
XML
<Validation> <MaximumSize>10</MaximumSize> </Validation>
「MaximumSize」タグ内に文字数を数値で指定します
「制限値以外の入力時にカスタムメッセージを表示」を設定する
XML
<Validation> <Message>任意のメッセージ</Message> </Validation>
「Message」タグ内に表示したいメッセージ内容を設定します
入力値の制限と組み合わせて使用しないと無効になります
データの格納
フィールド設定時の「データの格納」タブの項目にある内容を設定する場合は、「Storage」タグで設定します
「グローバルフィールド」を設定する
XML
<Storage global="True"> </Storage>
「繰り返しフィールド」を設定する
XML
<Storage maxRepetitions="10"> </Storage>
「maxRepetitions」要素に繰り返しフィールド数を設定します
「索引」を設定する
XML
<Storage index="All"> </Storage>
デフォルトフィールドで設定可能な項目は概ねこんな所です
「ふりがな」や「ルックアップ」なども設定可能ですが、色々複雑なのでここでは省略します

以上で今日のメモ書きは終了です
内容はいかがでしたか?
もしご意見やご要望、誤りの指摘などありましたら、下記フォームよりお気軽にご連絡ください