FileMaker Pro 15 基本講座

ユーザとの対話処理

全413コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
メールの送信や、印刷の確認など、ユーザに選択肢を提供して処理を切り分けるといったことはよくあります。ユーザと対話するには基本的なバターンがあります。
講師:
08:05

字幕

このレッスンでは、ユーザーに確認のためのダイアログを表示し、その選択結果によって処理を切り分けるパターンを解説します。この「見積管理」のファイルでは、ユーザーは「見積書印刷」のボタンをクリックして、見積書のために作られたレイアウトに切り替えて、自分で「プレビュー」を実行し、そして内容に問題がなければ印刷メニューから印刷しています。プレビューを終了し、戻るボタンをクリックすることでまたここにやってきます。ユーザーはこの操作に慣れてきたので基本的にはこれでもよいのですが、時折レコードの内容によって、例えば件名が入っていなかったり明細をまだ設定していないで金額がゼロのままといったようなレコードに対して、見積を印刷してしまうといったことがあり、これを回避したいと思います。そのようなときにこのボタンをクリックしたら、確認ダイアログを表示して、そしてそれでも問題がなければ先に進むといったふうな処理を入れたいと思います。現在この見積書印刷は単一ステップを割り当ててあります。ボタンバーの処理を確認すると、レイアウト切り替えで直接印刷のレイアウトに移動しているだけです。この処理をスクリプトに変換してユーザーに確認ダイアログを表示するようにしてみましょう。 「見積印刷」といったスクリプトを新たに作り、この内容に編集を加えていきます。レイアウトを切り替える前にまずカスタムダイアログを表示したいと思います。カスタムダイアログは「その他」のグループの一番上にありますのでこれをダブルクリックします。「レイアウト切り替え」は一番最後の方に実行しますが、まずカスタムダイアログを先頭に持ってきました。内容は「見積書印刷」といったダイアログで、「見積を印刷しますか」と確認します。「デフォルトボタン」が "OK" と"キャンセル"の2つ、2択が用意されていますが、ここではこのまま「OK」とします。これでカスタムダイアログが表示されると、ユーザーは OK かキャンセルのいずれかを選択します。その結果のどちらのボタンが押されたかを取得して、レイアウト切り替え、あるいは何もしないといったような処理の切り分けを行います。そのような条件文のために「カスタムダイアログを表示」を選択し、そのすぐ後ろに If 文を挿入します。If 文は挿入すると End If といったもう1つのステップとセットで2行挿入されます。条件はこのダイアログで OK を押したらレイアウトを切り替えたいというふうな処理にしたいと思いますので、ここでカスタムダイアログの結果どちらを選択したのかという判断を計算式で書きます。 計算式のダイアログを表示し、「取得関数」の中から目的の関数を選択します。「Get(最終メッセージ選択)」という関数がこれにあたります。これをダブルクリックします。挿入されたこの関数は、先程のボタンの1つ目、2つ目、3つ目ということで数字を返してきますので、OK が1つ目、キャンセルが2つ目でした。ですのでここが =1 であれば1つ目の OK が選択されたということになります。ここで条件は終了して、その場合のみ「レイアウト切り替え」のこのステップをドラッグして、If の後ろに挿入して移動します。そうではない場合は、特に何もしなくてもよいでしょう。一応 Else 文を入れ、そしてコメントとしてこの下に何もしないでよいということを明示的に残しておきましょう。これは入れても入れなくても結果は同じですが、あとで読んでもわかりやすいように、ついうっかり何もしないのではなく何もしないという意思表示をしているだけです。これで「保存」を実行し、ボタンバーの設定は終了です。処理が単一ステップからスクリプト実行に切り替わり、見積印刷のスクリプトを実行するように変わりました。ブラウズモードに移動して動きを確認してみます。 「見積印刷」をクリックすると、まず確認ダイアログが出てきました。テストのため、キャンセルがどのようになるか見てみます。キャンセルをクリック、特に何も起きませんでした。もう1度ボタンをクリックして今度は OK を選択します。すると見積書の画面に切り替わりました。このカスタムメッセージの表示はうまくいきましたが、これは件名に値がなかったときだけ表示したいと考えています。そのためにスクリプトを少し改造しましょう。先程スクリプトに変換しましたが、「見積印刷」、こちらのスクリプトワークスペースから内容を編集していきます。先頭のカスタムダイアログを表示、この上にスクリプトを挿入します。If 文を入れたいのですが、これでIf 文を入れるとその下に入ってきますのでカスタムダイアログは一旦入れ替えておきます。If 文の判定文は、関数で取得します。値がなかったらといったのは「論理関数」といったグループに入っています。IsEmpty というこれを利用します。ダブルクリックしてフィールドは「件名」ダブルクリックして挿入しました。これだけで件名に値が入っていなかったらという条件になります。その場合にはカスタムダイアログを表示してここから下をこのように移動します。 さらにこれがもし値が入っていたらどうするかという Else 文も挿入します。End If の下に挿入したいのでこれを選択して Else を挿入します。この場合は単純にレイアウトを切り替えるといったことでよいので、ここでコピーをして Else 文を選択してペーストをします。このようにすることで、確認ダイアログを表示してから先に進むかあるいは表示せずにそのまま切り替えるかといったような切り分けができています。カスタムダイアログのメッセージについては必要であれば変更すればよいでしょう。ここではこのままとします。これを終了して保存しておきます。割り当てはすでにされていますので、テストをしてみましょう。件名がまだ入っていないもので見積印刷を実行、すると確認ダイアログがでてきました。これで OK を押すと前に進み、こちらの中に内容がないままではありますが移動してきました。戻って今度は件名が入っているものにレコードを切り替え、これでテストしてみましょう。見積印刷をクリックすると、特に確認メッセージは表示されずに見積のレイアウトに切り替わりました。このレッスンではユーザーに確認のためのダイアログを表示し、その選択結果によって処理を切り分けるパターンを解説しました。

FileMaker Pro 15 基本講座

FileMaker Proは特に開発の経験がなくてもアイデアをすぐに形にできます。このコースではFileMaker Proの基本操作はもちろん、データベースの仕組みからリレーションシップの作成や、コンテキストの概念などについて基礎から学習します。また美しいレイアウトの作成や操作性を向上させるためのさまざまなコツも紹介します。

9時間51分 (99 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
プラン加入者限定
発売日:2017年02月03日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。