第54回 値一覧(あたい いちらん)

エヌ・ケイ・カスタマイズの大村です。まだまだ梅雨明けしませんが、鹿児島は晴れると日差しが強いです。暑いです。私は寒暖差アレルギーのためか、くしゃみを連発する日があります。なかなか辛いです。それはさておき、今日も頑張ってまいりましょう。

Claris FileMaker には、入力を補助する、楽にするためのツールがいくつも用意されています。
なかでも、「値一覧」は手軽で便利な機能として、代表的なツールではないでしょうか。

値一覧(あたい いちらん)


例えば、「都道府県」の入力欄などは、手で入力するよりも、選択できるようになっていた方が便利ですし、実際、よく見かける一般的な機能ではないでしょうか。また、普段の自分らで扱う書類などでも、決まった文言で入力されるほうが良いフィールドがあると思います。例えば、タスク管理における「ステータス」(進捗)や「優先度」、「カテゴリー」といったフィールドです。これらは、ユーザが自由に入力できるようにしておくとバラバラなデータが入力されてしまうかもしれません。予め、入力パターンを考えて、値一覧としてセットすると便利そうです。
予定される入力パターンは下記のとおりです。

<ステータス>
・ 進行中
・ 保留中
・ 延期
・ キャンセル
・ 完了
<優先度>
・ 高
・ 中
・ 低
<カテゴリー>
・ プロジェクト A
・ プロジェクト B
・ プロジェクト C
・ その他

値一覧の種類

まず、値一覧の種類をまとめてみます。

値一覧には3 種類があります。
・ フィールドのデータを使用
・ 他のファイルの値一覧を使用
・ カスタム値を使用

インスペクタで設定できるスタイルは4 種類です。
・ ドロップダウンリスト
・ ポップアップメニュー
・ チェックボックス
・ ラジオボタン

まずは、レイアウトにポップアップメニューを設置して、値にカスタム値を使用してみましょう。

ポップアップメニューを作成してみましょう

「ステータス」フィールド用に「カスタム値の値一覧」を作成し、ポップアップメニューでフィールドに割り当てます。

(1) [ファイル]-[管理]-[値一覧…]メニューを選択します。

値一覧を選択


(2) [値一覧の管理]ダイアログが表示されます。

(3) 値一覧を作成します。
a. 左下の[新規…]をクリックします。
b. [値一覧の編集]ダイアログが表示されます。
・ [値一覧名]に「ステータス」と入力します。
・ [カスタム値を使用]ラジオボタンをクリックします。
・ その下に改行区切りで以下の値を入力します。
進行中
保留中
延期
キャンセル
完了

「ステータス」値一覧の作成



c. [OK]をクリックして[値一覧の編集]ダイアログと[値一覧の管理]ダイアログを閉じます。

(4) レイアウトモードに切り替えます。

(5) 値一覧で入力したいフィールドに割り当てます。
a. 「ステータス」フィールドをクリックします。
b. レイアウトの右パネルのインスペクタの「データ」タブをクリックし「データを表示」部分に「タスク管理:: ステータス」と表示されているのを確認します。
c. 「コントロールスタイル」の「ポップアップメニュー」を選択します。
d. 「値一覧:」は先ほど作成した「ステータス」を選択します。

値一覧のフィールドへの割り当て



(6) レイアウトを保存します。これで、レイアウト上の「ステータス」フィールドに「ステータス」値一覧を割り当てられました。

(7) ブラウズモードで「ステータス」フィールドをクリックして動作を確認してください。

ポップアップが表示されました

ラジオボタンを作成してみましょう

今度は「優先度」フィールドにラジオボタンで値を割り当てましょう。

※ インスペクタの「データ」タブの「コントロールスタイル」の「値一覧:」の右にある鉛筆アイコンからも[値一覧の管理]ダイアログを表示できます。

値一覧の管理


(1) レイアウトモードに切り替えます。
(2) 値一覧で入力したいフィールドに割り当てます。
a. 「優先度」フィールドをクリックします。
b. レイアウトの右パネルのインスペクタの「データ」タブをクリックし「データを表示」部分に「タスク管理:: 優先度」と表示されているのを確認します。
c. 「コントロールスタイル」の「ラジオボタン」を選択します。
(3) 値一覧を作成します。
a. [値一覧の編集]ダイアログで設定します。
・ [値一覧名]に「優先度」と入力します。
・ [カスタム値を使用]ラジオボタンをクリックします。
・ その下に改行区切りで以下の値を入力します。



「優先度」値一覧の作成


b. [値一覧の編集]ダイアログと[値一覧の管理]ダイアログを閉じます。
(4) レイアウトを保存します。「優先度」フィールドに値一覧を割り当てました。
(5) ブラウズモードで「優先度」フィールドをクリックして動作を確認してください。

ラジオボタン

ラジオボタンとチェックボックス


上記では、「ラジオボタン」で値一覧をセットしました。似たような機能として、「チェックボックス」があります。両者の違いは、

なにか1 つを選択させたいとき、ラジオボタンを使います。
複数の選択を可能とする場合は、チェックボックスを使います。

ラジオボタンでは、丸いボタンをクリックすると値が選択されます。

フィールドの値で値一覧を作る



続いて「フィールドの値の値一覧」を作成し、ポップアップメニューでフィールドに割り当てます。
「タスク詳細」レイアウトの担当者を入力するための「担当者割り当て」TO のポータルで利用します。

「担当者割り当て」TO のポータル

今回は、すでに「担当者」として登録されている値を、そのまま値一覧で使ってみましょう。
タスクの担当者は「担当者」テーブルに100 名ほどを登録済みです。つまり、
・ あらかじめ登録されているデータ(担当者)から選択して入力してもらいたい
というシチュエーションです。例えば、
・ 山田太郎さんはタスク Aとタスク Bの両方に担当者として関連付けされることがある
・ 担当者別にタスクを確認できるようにしたい
このような場合は、多対多の関連をつかって入力できるようにします。これまでの章でポータルをレイアウト上に作成しました。本章ではフィールド値の値一覧でタスクの担当者を入力できるように演習します。

その前に。ここから突然、「多対多」のリレーションのお話になってしまいます。
ここではあまり深入りせずに、入力済みの値をそのまま値一覧として使える、という理解で構いません。
今回は、「姓」「名」に分かれているフィールドを、計算フィールドで1 つにまとめて使用することにしましょう。

(1) [データベースの管理]ダイアログの[フィールド]タブを開きます。
(2) 「担当者」テーブルを選択します。
(3) フィールドをつくります。
a. 以下の名前とタイプです。
・ [フィールド名]に「担当者名」を入力
・ [タイプ]は「計算」を選択
b. [作成]をクリックします。
c. 計算式を指定するダイアログが表示されます。次の計算式を入力してください。
姓 & “ ” & 名
d. [計算結果:]は「テキスト」を選択します。


(4) [OK]をクリックして何度かクリックして[データベースの管理]ダイアログを閉じます。

このフィールドを使って値一覧を作成します。

(1) 値一覧を新規作成します。
a. [値一覧の編集]ダイアログで次の設定をおこないます。
・ [値一覧名:]は、「担当者名」です。
・ [フィールドの値を使用]ラジオボタンをクリックします。
・ [フィールドの指定]ダイアログが表示されます。次のように設定します。
1) 「最初のフィールドの値を使用」で、「担当者」TO を選択します。
2) 「主キー」フィールドをクリックします。
3) 「2 番目のフィールドの値も表示」を オン にします。
4) 「担当者名」フィールドをクリックします。
5) ダイアログ下の「2 番目のフィールドの値のみを表示」を オン にします。

「担当者名」値一覧の作成時


b. [値一覧の編集]ダイアログと[値一覧の管理]ダイアログを閉じます。

(2) 「タスク詳細」レイアウトでレイアウトモードに切り替えます。

(3) 値一覧で入力するためのフィールドを配置します。
a. 「担当者」タブのタスク担当者ポータルの「姓」フィールドをダブルクリックします。
b. [フィールド指定]ダイアログが表示されます。
c. 「担当者割り当て」TO を選択します。
d. 「担当者外部キー」フィールドをクリックします。
e. [OK]をクリックしてダイアログを閉じます。

フィールドの指定


f. 配置されている「名」フィールドを削除します。
g. 「担当者外部キー」フィールドを横に長くします。

(4) 値一覧で入力したいフィールドに割り当てます。
a. 「担当者外部キー」フィールドをクリックします。
b. レイアウトの右パネルのインスペクタの「データ」タブをクリックし「データを表示」部分に「担当者割り当て:: 担当者外部キー」と表示されているのを確認します。
c. 「コントロールスタイル」の「ポップアップメニュー」を選択します。
d. 「値一覧:」は「担当者名」を選択します。
e. 「値一覧でデータ書式を上書き」は オン のままにします。

値一覧のフィールドへの割り当て



(5) レイアウトを保存します。フィールドに値一覧を割り当てました。

(6) ブラウズモードで動作を確認します。
a. 「担当者外部キー」フィールドをクリックするとポップアップメニューに担当者のデータが表示されます。
b. 「安倍 杏菜」さんを選択してください。
c. ポータルに、担当者レコードが入力されます。

動作確認


d. 担当者を削除したり、ポップアップメニューで担当者名を変更したりして動作を確認してください。

「担当者」テーブルの「担当者名」フィールドをつかって「担当者名」値一覧を作成し、「担当者」テーブルの主キーを「割り当て」テーブルの「担当者外部キー」フィールドに入力しています。

以上、今回は値一覧の基本的な機能について、ご紹介いたしました。
次回は、もう少し踏み込んで、「動的な値一覧」をご紹介いたします。

動的値一覧とは、
・都道府県を選択したら、その都道府県下の市町村だけを一覧表示
・部署を選択したら、その部署所属の職員だけを一覧表示
といった便利な機能です。
とても便利で実用的な機能ですから、ぜひ、ひと手間かけて実装しましょう。

Follow me!