— 2015/06/16 09:41:05 追記—

このエントリは、「FileMaker でソート順フィールドを見せずにソートされた値一覧を作る方法(基本)」です。

この方法ですと、ソートされるレコードの数が100を越えた場合(テキストフィールドの索引は最初の100文字という FileMaker の仕様上の制限のため)破綻します。

この問題の対策済みの方法を「FileMaker でソート順フィールドを見せずにソートされた値一覧を作る方法(応用)」にアップしました。
あわせてご覧下さい。

— 2015/06/16 09:41:05 追記おわり —

すでに、バージョン 13 だというのに、FileMaker において値一覧だけは洗練されないままです。
値一覧の候補値を動的に扱うためには、[フィールドの値を使用] を選ばざるを得ませんが、値一覧として表示させたときのソート順(並び順)をコントロールするためには、2番目のフィールド(ソート順フィールド) を表示させないことは、FileMaker 標準のオプションではありません。

ソートされた値一覧の標準例

標準の値一覧(ソート順フィールド値が表示されしまっている)

ソート順フィールドの値が表示されず、かつ、正しいソートで並んだ値一覧

ソート順フィールドの値が表示されず、かつ、正しいソートで並んだ値一覧

このニーズは、BOM(Byte Order Mark)をソート順の数分だけ繰り返したものを、表示させたいフィールドの頭に付けた値が入るような計算フィールドを作成し、その計算フィールドを、値一覧の2番目のフィールドとして定義してやることで解決します。

※ 先日(2013/12/21)の FM-Tokyo の LT 、先週(2013/12/28)の FM関西などで言及したものです。

サンプルファイル と、具体的な手順をアニメGIFにしたものを置いておきます。(下の画像をクリックすると、Animation GIF が開かれ、手順が動画で見られます)

サンプルファイルのカスタム関数ふたつを自分のソリューションファイルにコピペします

サンプルファイルのカスタム関数ふたつを自分のソリューションファイルにコピペします

ご自分のソリューションファイルの、値一覧用テーブルにソート用の計算フィールドを作成します。

ご自分のソリューションファイルの、値一覧用テーブルにソート用の計算フィールドを作成します。

ご自分のソリューションファイルに値一覧を定義します。

ご自分のソリューションファイルに値一覧を定義します。

値一覧をセットしたいフィールドのあるレイアウトで、そのフィールドに値一覧をセットします。

値一覧をセットしたいフィールドのあるレイアウトで、そのフィールドに値一覧をセットします。

 

6 thoughts on “FileMaker でソート順フィールドを見せずにソートされた値一覧を作る方法(基本)

  1. かなり前から悩んでいた問題を一つ解決することができました。
    ありがとうございます。
    紹介された方はお気づきかもしれませんが、一つだけ。
    この方法を使って入力したデータを含むレコードの表示についてです。
    ポータルなどで表示させると入力用に作った値一覧によるソートをした場合、
    思ったようになりませんでした。
    少し考えた末、表示用の値一覧を別に作り、
    そちらでは2番目の値のみ表示のチェックを外す(ソート順は2番目のフィールドのままで)ことで
    思ったような表示順が得られました。
    参考になりますれば幸いです。

  2. 参考にしてみました。
    例えば「北海道」を「1北海道」と入れると北海道は最後になってしましました。1は全角です。半角の1は大丈夫でした。

  3. > 「北海道」を「1北海道」と入れると北海道は最後になってしましました。
    すみません。おっしゃる意味が分かりません。
    どこに入れる(入力でしょうか?)のでしょ?
    ソート順フィールドに全角数字を入れたということでしょうか?

  4. サンプルファイルからカスタム関数をコピペしようと思ったのですが「このファイルは変更禁止なので、この操作は実行できません。」と出ました。
    どのようにすればコピペできるようになりますか?

  5. OSは何でしょう? FileMaker ではなく、OSレベルの書込禁止 or ロックがかかってしまっている状況ではないでしょうか?
    ※ FileMaker的な Privilegeは、Adminのパスワード無しです。
    今、人に頼んで確認してもらいましたが、ダウンロードしたファイルに問題はないようです。
    Mac であれば、Finder で Get Info… (⌘I)して所有者のアクセス権を [読み/書き] にしてやるとか、ロックのチェックが入っていたらはずしてやるとか、名前を少し変えて、デスクトップにコピーしてみるとかでうまく行きませんか?

  6. OSはWindows7です。
    名前を変えてデスクトップにコピーしたらできました。ありがとうございました。

コメントを残す

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

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)