OK を選択した場合だけデータを確定させるシステムを作ってみよう!
2014年11月21日 09:00 AM
はじめの一歩
上の図は、FileMakerを少し触ったことのある方であれば、見慣れたメッセージ画面ではないかと思います。
これは「カスタムダイアログ」という、FileMakerの機能です。
この中に、「OK」と「キャンセル」がありますが、
実は、特別に設定をしない限りOKを押してもキャンセルを押しても、データは確定されてしまいます。
大事なデータは、OKを押した時だけデータが確定され、キャンセルを押した時は元の状態に戻れるシステムの方が良いですよね…。
ということで、今回はこのカスタムダイアログでどのボタンを押したかによって、処理が変わるシステムの作り方を少しご紹介したいと思います。
ユーザーがどのボタンを押したか?を情報としてシステムに教える為には、
Get(最終メッセ―ジ選択)の関数を利用します。
押したボタンが1番だったら…2番だったら…という指定をするイメージです。
ちなみにボタンの番号は下の図のようになります。
スクリプトを作ってみました。
押したボタンが1、つまりOKの場合は何もしない(そのまま確定される)が、
1以外のボタンを押した場合は、レコードの状態を入力前に戻す、という内容です。
このスクリプトを、この仕組みを取入れたいフィールドに、「OnObjectSave」のスクリプトトリガとして設定します。
例として、今回は「進行中」「受注」「失注」という内容が入力できる「ステータス」のフィールドの内容を変更したときに、
OKを押した場合だけデータが確定される。という機能をつけてみたいと思います。
「ステータス」フィールドに、「OnObjectSave」のスクリプトトリガを設定します。
現在「進行中」のステータスを、「受注」に変更しようとすると、ダイアログが表示されます。
OKを押した際は受注で登録されますが、キャンセルを押すと進行中に戻ります。
ちなみに………
この仕組みを応用することで、こんなこともできます!!
このメッセージが有効なFileMakerシステムは、あまり存在しないでしょうね(笑