X

FileMakerポータル行のソートを動的に行うためには

FileMakerポータル行は入力された順番で表示されますが、ソートして表示を見やすくすることもできます。

ポータルのソート設定方法

以下のようにポータルが表示されています。

表示されているポータルを

レイアウト表示に変更してから
>ポータルを右クリック
>[ポータル設定]をクリック

ポータルレコードのソートで[指定]をクリック

下の場合、照射日の逆順でソートするように指定していますが、ソートするフィールドを左→右に移動して、ソート優先順位やソート順を設定すれば希望通りソートしてくれます。

以下のように照射日順(逆順)で表示されているのがわかると思います

下の場合は、部位を最優先にして次に照射日を逆順でソートをかけています。

以下のように照射部位別に最優先ソートがかかり、照射日順(逆順)で表示されるようになりました。

問題はソート順位を動的に変更できるかどうか? レイアウトを複数作ってレイアウト毎にポータル設定を変えれば自由にソート設定を保持できますが、ソートのためだけにレイアウトが増えて複雑になるだけです。ボタンを押すことによりソートが動的に変更できるようなしくみを作ってみましょう。

ポータル行のソートを動的に行う

現在のテーブル側の設定

  • 現在のテーブルに「ソート指定」というフィールド(計算値)を追加
  • ソート順を指定するために「ソート順指定」スクリプトを作成ソート指定フィールドに設定する値はスクリプトパラメータで指定

レイアウト上に照射日順優先ソート、照射部位優先ソートボタンを作成

  • 照射日別ボタンのスクリプトパラメータで0を指定
  • 照射部位別ボタンのスクリプトパラメータで1を指定

関連テーブルの設定

  • 「ソート値」というフィールド(テキストタイプ)
  • Choose関数で引数が0のときは”” 1のときは「部位」フィールドが選択されるように設定

ポータルのソート優先順位の設定で、ソート値を最優先、照射日を第二優先とする

照射日別ボタンを押すと

照射部位別ボタンを押すと

以上で動的にポータルのソートができるようになりました。

管理人:

View Comments (4)

  • ファイルメーカーを勉強中の医療職です。
    現在ファイルメーカーPRO10を使用しています。
    動的なポータルソートを作ってみたくこのブログにたどり着きました。
    ですがうまくできずに悩んでいます。
    例えば管理者様の動きですとスクリプトパラメータで1を選択してChoose関数で部位を選択するだけでソートができるのがわかりません。
    どうかその動きの開設をお願いします。

    • 通りすがりの者です。
      動きの解説はできませんが、この記事を参考にして私のデータベースに組み込んでみたらうまく動作しなくて、Choose関数をIf関数に代えたらうまくいきました。

      管理者様、ありがとうございます

  • >「ソート値」というフィールド(テキストタイプ)
    「ソート値」というフィールド(計算) じゃねえ?

    • 通りすがり2号さん こんにちは

      間違いの指摘ありがとうございました
      「ソート値」というフィールドは計算値です