初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2014-09-22 18:28:29

on_YM
Guest

リストの降順表示

fm Pro 12 Mac osX
いつも参考にさせていただいております。

初歩的な質問で申し訳ありませんが、日時データとテキストデータを結合して、リスト表示させているのですが、昇順表示を降順表示させたいのですが、該当する関数が見当たりません。
スクリプトの「レコードのソート」では、データ全体をソートしてしまいますので、これは使えず、教えを乞うている次第です。
お忙しいところ、よろしくお願いします。

http://pupld.net/07/140922/t9y7ufe5pi/index.cgi

#2 2014-09-22 21:43:36

Hiro
Member

Re: リストの降順表示

過去ログ参照 →「#190 List関数にてリストにしたフィールドの情報を・・・ 」
https://fm-aid.com/bbs2/viewtopic.php?pid=1485#p1485

リスト行数が50行程度以下に限定ですが、関数式は、

/*************************
リストのバブルソート計算式
**************************/
Let([
//パラメータ引数設定
$prm=List(依頼 2::依頼者リスト_L); //←(元リストを指定)
$sor=0; //←(ソート条件指定:昇順=1,降順=0)
$typ=1; //←(ソートタイプ指定:テキスト比較=1,数値比較=0)
/**/
$dmy="_?_";
$prm=Substitute(¶&$prm&¶;"¶¶";¶&$dmy&¶);
$prm=Middle($prm;2;Length($prm)-2);
//サブルーチン関数定義
$lst=$prm;
$sub="Case(
  $i<=1;$top;
  Let([
   $i=$i-1;
   $itm=GetValue($lst;$i);
   $_top=Case($top=$dmy;\"\";$typ;$top;$top*1);
   $_itm=Case($itm=$dmy;\"\";$typ;$itm;$itm*1);
   $flg=Case($sor;$_top<$_itm;$_top>$_itm);
   $rtn=Case($flg;List($rtn;$itm);List($rtn;$top));
   $top=Case($flg;$top;$itm)
  ];Evaluate($sub))
)";
//バブルソート関数定義
$n=0;
$res="";
$fnc="Case(
  $n=ValueCount($prm);$res;
  Let([
   $n=$n+1;
   $i=ValueCount($lst);
   $top=GetValue($lst;$i);
   $rtn=\"\";
   $res=List($res;Evaluate($sub));
   $lst=$rtn
  ];Evaluate($fnc))
)"
];
Substitute(Evaluate($fnc);$dmy;"") //バブルソート計算実行
)


【★修正補足★】
サンプルを見直したら、簡単な解法がありました。上のような面倒な式は本事案では不要でしたネ。
  「依頼 2」リレーション設定で、「依頼 2::依頼者リスト_L」フィールドに降順ソート指定
するだけでOKでした。

Last edited by Hiro (2014-09-22 22:23:09)

Offline

#3 2014-09-23 05:47:00

on_YM
Guest

Re: リストの降順表示

Hiroさん。ありがとうございます。
「依頼 2」リレーション設定で、「依頼 2::依頼者リスト_L」フィールドに降順ソート指定
ここまで気が付きませんでした。リレーション設定で「レコード作成の許可」で利用はしてましたが、表示で使えるとは思いませんでした。いろいろと試してみなければダメですね。
忙しいところありがとうございました。

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.016 seconds, 7 queries executed - Memory usage: 505.96 KiB (Peak: 516.07 KiB) ]