ファイルメーカー

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

投稿日:2017年7月2日 更新日:

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

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

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

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

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

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

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

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

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

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

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

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

現在のテーブル側の設定

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

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

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

関連テーブルの設定

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

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

照射日別ボタンを押すと

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

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

-ファイルメーカー
-

執筆者:


  1. 初心者 より:

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

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

FileMaker Proの外部ファイルを内部テーブルにコンバートする方法

ファイルメーカーVer6までのファイル「.fp5」は一つのファイルに複数のテーブルを持つことができません。そのためリレーションを設定する場合は、新たにファイルを作成してからリレーションを設定します。当 …

エクセルを使わないでFileMakerで日付表を自動作成するスクリプト

勤務表もFileMakerで作っていますが、今までエクセルで1年分の勤務表データを作成後FileMakerにインポートする形をとっていました。使用しているPCがWindows10 64bitになり32 …

FileMaker Pro17のインストール

FileMaker Proの新バージョンは17になりました。最近は短期間でバージョンアップが繰り返されています。ボリュームライセンス契約をしているので、FileMaker Pro 17は全て「File …

File Maker 9をいまさらながらインスールしてみた!

File Makerの最新バージョンはVer.13ですが、事情があっていまだにVer.6を使っています。Ver.9まではアップグレードは済ませているので、いまさらながら使ってみようかな?と思ったわけで …

no image

FileMaker Serverのバックアップ

1997年に開院して10年になりますが、いきなりFileMaker Server専用PCが壊れてしまいました。他のパソコンを使っていたとき、サーバー専用PCが勝手に何回かリセットして、WINDOWSが …

2019年5月
« 4月    
 12345
6789101112
13141516171819
20212223242526
2728293031  
Top
%d人のブロガーが「いいね」をつけました。