OK を選択した場合だけデータを確定させるシステムを作ってみよう!

2014年11月21日 09:00 AM

はじめの一歩


 

1_mini

上の図は、FileMakerを少し触ったことのある方であれば、見慣れたメッセージ画面ではないかと思います。

これは「カスタムダイアログ」という、FileMakerの機能です。

この中に、「OK」と「キャンセル」がありますが、

実は、特別に設定をしない限りOKを押してもキャンセルを押しても、データは確定されてしまいます。

 

大事なデータは、OKを押した時だけデータが確定され、キャンセルを押した時は元の状態に戻れるシステムの方が良いですよね…。

 

ということで、今回はこのカスタムダイアログでどのボタンを押したかによって、処理が変わるシステムの作り方を少しご紹介したいと思います。

 

ユーザーがどのボタンを押したか?を情報としてシステムに教える為には、

Get(最終メッセ―ジ選択)の関数を利用します。

押したボタンが1番だったら…2番だったら…という指定をするイメージです。

ちなみにボタンの番号は下の図のようになります。

2_mini

 

 

 

スクリプトを作ってみました。

3_mini

 

 

押したボタンが1、つまりOKの場合は何もしない(そのまま確定される)が、

1以外のボタンを押した場合は、レコードの状態を入力前に戻す、という内容です。

 

このスクリプトを、この仕組みを取入れたいフィールドに、「OnObjectSave」のスクリプトトリガとして設定します。

4_mini

 

 

例として、今回は「進行中」「受注」「失注」という内容が入力できる「ステータス」のフィールドの内容を変更したときに、

OKを押した場合だけデータが確定される。という機能をつけてみたいと思います。

「ステータス」フィールドに、「OnObjectSave」のスクリプトトリガを設定します。

5_mini

 

現在「進行中」のステータスを、「受注」に変更しようとすると、ダイアログが表示されます。

6_mini

 

 

 

OKを押した際は受注で登録されますが、キャンセルを押すと進行中に戻ります。

 

7_mini

 

 

ちなみに………

この仕組みを応用することで、こんなこともできます!!

 

8_mini

 

このメッセージが有効なFileMakerシステムは、あまり存在しないでしょうね(笑