第 6 回 FileMaker のフィールドオプションについて | 初心者向け FileMaker での開発
皆さんこんにちは。私、ザヤもFileMaker を触り始めて5ヶ月になりました。まだまだ、分からないものがたくさんあります。引き続き頑張っていきたいと思います。
今回は、フィールドオプションについてです。
FileMaker では、フィールドへ入力は、ユーザの手入力がほとんどではありますが、ユーザが入力するよりもシステムが自動的に入力させる方が入力の手間や操作の誤りを防ぎ、使いやすいシステムになります。ぜひブログを通して、フィールドへの入力を自動的にできる仕組みの一つを紹介し、少しでも FileMaker の良さをお伝え出来ればと思います。
フィールドオプションについて
第 5 回で扱った「検温」テンプレートからフィールドオプションの設定を確認してみたいと思います。
(「検温」テンプレートのダウンロードがまだの方は、Claris 公式サイトの「Claris FileMaker を体験してみましょう」から「医療・福祉」項目の「検温」をクリックするとダウンロードができます。)
1.「検温」テンプレートをダブルクリックして開きます。
2.「ファイル」メニューから「管理」、そして「データベース…」をクリックします。
①テーブルが「従業員」であることを確認します。一番上のフィールドである「主キー」を選択します。
②の「オプション…」をクリックします。
③フィールド「主キー」のオプションとなっていることを確認します。フィールドオプションには、「入力値の自動化」、「入力値の制限」、「データの格納」、「ふりがな」の設定があることがわかります。
「入力値の自動化」でできること
FileMaker のフィールドオプションでは、さまざまな方法で自動入力の設定ができます。今回は、「入力値の自動化」オプションを見ていきたいと思います。
①何を(対象のフィールド)
②どのように
③どの程度の設定にするかを意識する必要があります。
①「何を」である「主キー」というフィールドに「どのように」設定しているかを確認してみたいと思います。
②「計算値」にチェックがついています。計算式を利用した結果が自動的に入力される、という意味になります。
「設定…」を押すと、計算式に「Get(UUID)」と入力されています。この「Get(UUID)」関数は、下図のような16バイトのユニークな文字列を返すものです。(補足:「ユニーク」とは、異なるシステム間であっても、重複した値が発生しません。この値で検索実行すると、たった1つのレコードしか検索ヒットしないという特徴があります。「Get(UUID)」関数を使うことで、ユニーク性は担保されます。)特に「主キー」によく使われます。
もう一つ付け加えたいことに、「計算値」のオプションである「フィールドに既存の値が存在する場合は置き換えない」には、チェックがありません。これは、再計算された場合、自動で更新されるようになるということになります。なお、チェックがあると、値が存在するときに書き換えないです。つまり、このオプションは空欄の場合のみ自動入力を実行させるものです。
チェックが外されている理由は、レコードを複製した際の振る舞いに影響するためです。複製時には、このフィールドに複製元のUUIDの値が入った状態です。レコード複製後に自動入力オプションが動き出し、チェックなし(=置き換え)だと、新しいUUIDが作られ複製元のUUIDの値を上書きします。これにより、ユニーク性が担保されます。
チェックあり(=置き換え不可)の場合は、複製元レコードのUUIDの値のまま登録されてしまい、ユニーク性が担保されません。ご注意ください。
③「どの程度」は、データの入力時に、つまり「データ入力時の値変更の禁止」というオプションになります。チェックがされていると、自動入力されたデータをユーザは変更できなくなります。以下のようなダイアログが表示されます。
その他には:
- 作成情報:レコードが作成された時に、プルダウンで選択したデータが自動的に入力されます(プルダウンで選択肢には、日付、時刻、タイムスタンプ、名前、アカウント名があります)
- 修正情報:レコードが編集された時に、プルダウンで選択したデータが自動的に入力されます(プルダウンで選択肢には、日付、時刻、タイムスタンプ、名前、アカウント名があります)
- シリアル番号:レコードが作成されるたびにカウントアップされる番号を入力できます
- 直前に参照したレコード値:最後にアクセスしたレコードの値が設定されます
- データ:レコード作成時に固定の値を設定できます。初期値設定によく使われます。
- 計算値:レコード作成時に、指定した計算式が評価された結果がフィールドに設定されます。
- ルックアップ値:別のテーブルから、設定したフィールドの値を自動的に入力します。
これらの詳細に関しては、ヘルプをご参照ください。( Claris FileMaker Pro 19 ヘルプ:入力値の自動化の定義)
計算値を使ってみよう
「従業員詳細」画面で「電話番号」というフィールドが以下のように数字ではなく、漢字で「電話」で入力されてしまっています。
ハイフンやカッコも含まない、電話番号の数字のみにしてみたいと思います。
①「電話番号」フィールドの「フィールドのオプション」を開きます。
②「入力値の自動化」の「計算値」にチェックをつけて「設定…」を押します。
③以下の図のように入力します。
(GetAsNumberという関数は、テキストに含まれる数字のみを返します。)
④「フィールドに既存の値が存在する場合は置き換えない」チェックを外し、「OK」をクリックします。
⑤画面へ戻り、テキストなどを含んだ数字を入力してみてください。数字のみになることを確認できます。
この他の入力オプションを紹介します。
「シリアル番号」は、テーブルの主キーにもよく使われます。Get (UUID)と同じくユニーク性がありますが、他のシステム・ファイル間では重複します。その代わりに、単純な数値なので「わかりやすい・扱いやすい」からです。
また、「修正情報」設定は、最後にレコードを編集した情報で、システム障害時や操作ログの追跡調査時によく使われます。
「データ」設定には、例えば、消費税率の10%を初期値として設定したい場合などに使えます。
このように自動的で可能なデータであれば、自動的に入力させると便利かつ使いやすいシステムになります。
次回も、引き続きフィールドオプションの「入力値の制限」ついて触れていきたいと思います。
今日も、ありがとうございました。
参考文献
- Claris 公式サイト
https://www.claris.com/ja/
- Claris 公式サイト . Claris FileMaker を体験してみましょう
https://content.claris.com/jpapps
- FileMaker 入力値の自動化・入力値の制限「データとフィールド」 中級編(6章)
https://ito888k.com/663/
- 木下 雄一朗.『 FileMaker データベース問題解決ガイド Pro/Advanced/Server/Go』,2014,株式会社KADOKAWA,p.192-200