FileMaker Pro 15 基本講座

論理関数・isEmptyで値がないことの判定

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
値がないことを判定する際にはisEmpty関数を使うと便利です。その使いどころと意味を理解しておきましょう。また、自分自身を参照するself関数についても説明します。
講師:
08:33

字幕

このレッスンでは IsEmptyそれから Self という論理関数について解説します。まず IsEmpty とはこの指定したフィールドの値が空っぽ空欄の場合、または関連フィールドあるいは関連テーブル、リレーションシップが見つからない場合といったものに判定する、そういう関数になります。これが空っぽである場合は真を返します。また Self は計算式が定義されているオブジェクトの内容を返します。この2つをうまく使った例が条件付き書式になります。多くの場合、Self というのは条件付き書式で使われますのでまず、その例から見てみましょう。この「売り上げ日」というものに値を空っぽという状態があると色を変える、そんな設定が、今、してあります。値が入ると色は特に変わりません。この設定の内容を確認してみます。コンテキストメニューから条件付き書式を選択、すると、値が空欄といった条件で書式は塗りつぶしの色が黄色であるこれはフィールド、あるいはテキストのオブジェクトに対して設定出来るものなので、この辺り文字の色だったり背景色を変えることができるわけです。この条件は、実は、このフィールドそのものに設定してあるがゆえ値が、という風に、そのフィールドの値を判定しているそういう設定が、簡易にできるようになっています。 このほかに、この様に範囲だったりいくつか設定済みのものがありますが実は、これは裏では計算式を設定しています。ここで IsEmpty という関数、それから引数にフィールドではなくSelf という関数、これらがセットで使われています。まず Self は、この設定してあるオブジェクトそのもののことを意味します。ですので、ここで「売り上げ日」といったフィールド名を設定しても良いのですがこの Self というものを設定するだけで他のオブジェクトにもすべて同じ様に設定ができるという利点があります。同じ計算式を設定することができるわけですね。Self はとても便利な関数ですがこの様に条件付き書式の場合は問題ありませんが、他の所では使えない場合が多いでしょう。例えば「売り上げ日」というこの文字列も同じ条件で色を変えたい、つまり、この値が空っぽだったら、これを、例えば、赤にしたいといったような条件を作る際にこの場合は Self という機能は使えませんので、ご注意ください。ちゃんと売り上げ日が IsEmpty だったらという風な計算式を書きます。次に、ここに削除、ポータルの削除はよく行うわけなのですが端的な、ここに、単一ステップで「ポータル内の行を削除」というこのとても便利なコマンド1つだけを設定してあります。 このボタンはちょっとブラウズモードに行って見てみると、この様に追加のポータル行、レコードをここで追加することができるように1行の空行が表示されているわけですがそこにも「削除」といったボタンがあります。ここを実行したとしてもこの関連レコードを完全削除実際は、レコードは存在しませんので、問題はないとは言えるのですが、少し混乱してしまうかもしれません。実際にレコードが存在するここの所は削除があっても良いがここに「削除」ボタンを表示したくないといったようなニーズは結構、皆さん考えるようです。その様な時に、簡易な方法があります。このボタンを選択してインスペクタのデータタブの中の「動作」ここに次の場合のオブジェクトを隠すというここで計算式を書くことができます。ここで IsEmpty を使います。フィールドに、この明細のレコードが存在するかどうかといったことを見るためには関連先の ID は必ず自動番号でフィールドに値が入る様にしてありますのでこの ID を見るのが良いでしょう。ということで、この「売り上げ伝票_明細」のID を空っぽかどうかと見るこういう計算式を書きます。その場合、真が返ってくるとこのままで良いですね。 空っぽだったらここのオブジェクトはこのボタンオブジェクトを隠すという設定です。これでブラウズモードで見てみますと、この様に追加の空白行についてはボタンは表示されていません。他のレコードもそうですね。では、最後に「関連レコードへ移動」という便利なコマンドを利用する際の注意点について説明します。この「関連レコードへ移動」とは、実はスクリプトステップとしてのみあるコマンドで他のメニューからは選択することができません。ここに、単一のステップとして設定してあります。「売り上げ伝票_明細」このポータルから関連のレコードを別の明細というテーブル、つまりこれの、そもそものコンテキストのテーブルですね。そこに表示すると、そして新規ウィンドウに「関連レコードのみを表示」>「現在のレコードのみ称号」こういったオプションになっています。これがブラウズモードで確認をするとクリックをするとこの様に、明細のレイアウトで対象レコードをこの4件に絞り込んで表示してくれるわけです。特に、別のウィンドウでなくても同じウィンドウの中でレイアウトを切り替えるとやっても別に問題はないのですがこの場合は、別のウィンドウに表示してあるわけですがこれは、他のこの後に続く処理と組み合わせてスクリプトなどでよく使われます。 注意点としては、この関連先が存在する場合はスクリプトなどで、ウィンドウに切り替え、そして、対象レコードを絞り込んでくれるのですがもし関連先が1件も存在しない場合、何も起きないといったことがリスクにつながります。つまり、別のウィンドウが開く、あるいはすでにレイアウトが切り替わってる状態でそのレコードを一括して削除しようとしたりあるいは Excel にエクスポートするといったような処理が続いているとするとこの様な場合には、今見えているこの伝票に対して例えば一、括削除が行われたりといったようなことが起きてしまうわけです。これを避けるために、関連レコードの移動の基本セオリーとしてはその前に、まず関連先のレコードがあるかどうかといったものを判定するということが必要になります。ここで、すでに単一ステップではなくスクリプトを作ってありますので「関連レコードへ」というこれを選択します。ここからも中身が見れますのでちょっと見てみましょう。「関連レコードへ移動」という今のステップの前にIf 文で not という風につけてIsEmpty でそのフィールドとして今の関連先の「売り上げ伝票_明細」の ID、これを指定しています。 先頭に not と指定することでこの条件文では相手先が存在したらといったような意味合いに変わります。真逆の意味ですね。この様に書く方がわかりやすいといったようなこともあり関連レコードへ移動する時に必ず相手先が存在する場合はと書いているわけです。Else 文の方は、逆に存在しない場合はカスタムダイアログを表示してエラーを出しています。では、動きを見てみましょう。これで OK を押してそしてブラウズモードに行きます。これは今関連先のレコードがありませんのでこの様に、関連先がありませんという風にエラーがでました。しかし、この様に関連先がある場合は問題なく、ウィンドウが表示される、このあたりの使い方について気をつけてIsEmpty を使う様にして下さい。このレッスンでは、論理関数のIsEmpty と Self についてその使い所と注意点を解説しました。

FileMaker Pro 15 基本講座

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

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

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

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

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