ファイルメーカー

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

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

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

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

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

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

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

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

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

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

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

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

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

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

現在のテーブル側の設定

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

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

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

関連テーブルの設定

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

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

照射日別ボタンを押すと

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

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

-ファイルメーカー
-

執筆者:


  1. 初心者 より:

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

comment

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

関連記事

no image

FileMaker Serverのバックアップ

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

FileMaker Pro16をインストール

FileMaker Pro 16がリリースされています。ボリュームライセンス契約をしているので、FileMaker Pro 15に続きFileMaker Pro 16も無料でダウンロード。 ファイルメ …

ファイルメーカー14でのセキュリティ変更方法(アカウント名、パスワード)

ファイルメーカーの.fp5ではパスワード設定しかなかったのですが、.fp7もしくは.fp12ではファイルを開くとき[アカウント名]と[パスワード]を入力するように変更されています。 .fp5からバージ …

FileMakerで複数条件により条件付き書式を設定する方法

FileMakerの「条件付き書式設定」は条件により自動で書式を変更することができ重宝しています。条件が真の場合は1、偽の場合は0を返し、真1の場合にフォント色、背景色他を設定するだけで自動で書式が変 …

FileMaker ProとGoogleMapsとの連携

Filemaker Proで住所管理している場合、「Webビューア機能」を使えば住所を元にGoogleMapsで地図を表示することができます。 まず住所録を用意してください 名称 郵便番号 都道府県 …

2019年11月
« 5月    
 123
45678910
11121314151617
18192021222324
252627282930  
Top
%d人のブロガーが「いいね」をつけました。