第66回 「条件付き書式」や「レイアウトオブジェクトを隠す」
おはようございます。エヌ・ケイ・カスタマイズの大村です。
9月になった途端に、秋めいてきたような印象です。四季を感じるとともに自然に感謝して、SDGsに思いをはせましょう。
さて、前回は「タスクの期限」を題材にして、「残日数」、「超過日数」を表示してみたり、その方法について、いくつかの方法を試してみました。今回は、ほかの実現方法も見ていきましょう。
以下の記事は、Claris FileMaker Master Book 初級編(バージョン 19 対応)より、
Claris FileMaker 公式トレーニング教材
「13.5.2 条件付き書式(326ページ)」「13.5.3 レイアウトオブジェクトを隠す(328ページ)を元に掲載しています。
この文献から、「条件付き書式」や「レイアウトオブジェクトを隠す」機能の使いどころや設定方法を学びました。文献の執筆者、関係者の方々に深謝いたします。
なお、このブログ記事の趣旨は、弊社所属スタッフの Claris FileMaker 学習の成果を公開することを目的とし、同時に、参考文献の内容の紹介に資するものであることを Claris International Inc. が確認しています。
条件付き書式
期限が過ぎていたら『あと 〇日です!』といった文言を、太字や赤い色で表示してみましょう。
今回は、「条件付き書式」を使ってみます。計算式を使った表示コントロールの1 つです。
「条件付き書式」は、レイアウトオブジェクトの書式設定を計算式に指定した条件で変化させるものです。
あくまでも表示を変化させるだけなので、データ自体には影響はありません。
テキストではないオブジェクトである□や○などの図形オブジェクト、ポータルには設定できません。
表示したいのは、こんな感じです。
前回作成した「計算_ 期限までの日数」フィールドを使います。
「計算_ 期限までの日数」フィールドの前後にテキストオブジェクトを配置し、条件付き書式を使って、「今日」が「期限」を過ぎてしまっていたら、文字列を太字で赤字にします。
条件としては、 期限 < Get ( 日付 ) ということになりますね。
この計算式で条件付き書式を設定します。
- 「計算_ 期限までの日数」フィールドの前後に、「あと」と「日です!」という2つのテキストオブジェクトを配置します。
- 「あと」テキストオブジェクトをクリックし、[Shift] キーを押しながら「日です!」テキストオブジェクトもクリックします。
- 右クリックして[条件付き書式]を選びます。
- [選択されたオブジェクトの条件付き書式]ダイアログが表示されます。
- [追加]をクリックします。
- [条件]の下を「計算式が」を選択し、その右側に計算式を入力します。
タスク管理:: 期限 < Get ( 日付 ) - [OK]をクリックして[計算式の指定]ダイアログを閉じます。
- [書式]の「太字」と「文字色」にチェックを入れて、さらにその右の色パレットをクリックして赤い色を選択します。
- [OK]をクリックして閉じます。
- レイアウトを保存します。条件付き書式が設定されました。ブラウズモードで表示を確認します。
期限日フィールドに過去の日付を入力して、確認してみましょう。
レイアウトオブジェクトを隠す
今度は、期限が過ぎているときだけ「期限を○日超過しています!」と表示する方法を考えてみましょう。
経過した日数については、別途、計算タイプフィールドを作成します。
「計算_期限までの日数ABS」というフィールドを作成して、計算式を下記のように設定します。
Abs ( 期限 – Get ( 日付 ) ) → [索引オプション]は非保存
Abs関数を使えば、計算結果がプラスでもマイナスでも絶対値となります。これで日数は出せるようになります。
このフィールドをレイアウト上に配置して、これにテキストで文言をつけ足して、期限を超過しているときだけ、表示されるようにします。逆にいうと、期限を過ぎていない場合は、表示しない(隠す)ようにします。
レイアウト上に、「期限を <<計算_期限までの日数ABS>> 日超過しています!」というマージフィールドを配置します。
マージフィールドを配置したら、上図のように、レイアウトモードに切り替えて右パネルのインスペクタを表示して「データ」タブをクリックしてください。[動作]の下に「次の場合にオブジェクトを隠す」という文言があります。そのオブジェクトがレイアウト上に存在しないかのように隠すことができます(ボタンがあっても非表示の間は押せません)。
ここに設定する計算式は、条件付き書式とは逆に考えて計算式を設定します。
「条件に合致したら非表示」だからです。「条件に合致したら表示」ではありません。
ちょっと迷いますね。
今日までは期限なので次の計算式になります。
タスク管理:: 期限 ≧ Get ( 日付 )
これで期限の日付を変えると文字が現れたり消えたりするようになります。
今回は、計算式を使って、表現に工夫をしてみました。
次回以降、改めて「計算式」について考えていきます。
私なんて、計算式を書きながら、何の計算をしているのか、わからなくなることが度々なんですけど、頑張っていきましょう。
参考文献:Claris FileMaker 公式トレーニング教材 から、「FileMaker Master Book 初級編」 等を参考にしています
https://content.claris.com/fmb19_reg-ja