FileMakerポータル行は入力された順番で表示されますが、ソートして表示を見やすくすることもできます。
ポータルのソート設定方法
以下のようにポータルが表示されています。
表示されているポータルを
レイアウト表示に変更してから
>ポータルを右クリック
>[ポータル設定]をクリック
ポータルレコードのソートで[指定]をクリック
下の場合、照射日の逆順でソートするように指定していますが、ソートするフィールドを左→右に移動して、ソート優先順位やソート順を設定すれば希望通りソートしてくれます。
以下のように照射日順(逆順)で表示されているのがわかると思います
下の場合は、部位を最優先にして次に照射日を逆順でソートをかけています。
以下のように照射部位別に最優先ソートがかかり、照射日順(逆順)で表示されるようになりました。
問題はソート順位を動的に変更できるかどうか? レイアウトを複数作ってレイアウト毎にポータル設定を変えれば自由にソート設定を保持できますが、ソートのためだけにレイアウトが増えて複雑になるだけです。ボタンを押すことによりソートが動的に変更できるようなしくみを作ってみましょう。
ポータル行のソートを動的に行う
現在のテーブル側の設定
レイアウト上に照射日順優先ソート、照射部位優先ソートボタンを作成
- 照射日別ボタンのスクリプトパラメータで0を指定
- 照射部位別ボタンのスクリプトパラメータで1を指定
関連テーブルの設定
ポータルのソート優先順位の設定で、ソート値を最優先、照射日を第二優先とする
照射日別ボタンを押すと
照射部位別ボタンを押すと
以上で動的にポータルのソートができるようになりました。
ファイルメーカーを勉強中の医療職です。
現在ファイルメーカーPRO10を使用しています。
動的なポータルソートを作ってみたくこのブログにたどり着きました。
ですがうまくできずに悩んでいます。
例えば管理者様の動きですとスクリプトパラメータで1を選択してChoose関数で部位を選択するだけでソートができるのがわかりません。
どうかその動きの開設をお願いします。
通りすがりの者です。
動きの解説はできませんが、この記事を参考にして私のデータベースに組み込んでみたらうまく動作しなくて、Choose関数をIf関数に代えたらうまくいきました。
管理者様、ありがとうございます
>「ソート値」というフィールド(テキストタイプ)
「ソート値」というフィールド(計算) じゃねえ?
通りすがり2号さん こんにちは
間違いの指摘ありがとうございました
「ソート値」というフィールドは計算値です