みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつも大変お世話になっております
表題の件で躓いており、ご教授頂きたく投稿させて頂きます
FMP16、Win7
検索をかけると
https://community.filemaker.com/thread/85049
が、自身が作成したいイメージに近いのですが
値一覧で項目を選択するのではなく、ポータル枠外にあるボタンを押下し昇べきの順でソートを表示を希望しております
※ポータル内フィールドは3つのみですのでボタンも3つ
アドバイスをお願い致します
Offline
ごく簡単な方法は、タブコントロールを使って、3個のポータルを切り替える事でしょうね。それぞれ、ポータルの中でソートを指定しておきます。
内部的に行うには、関連レコードへ移動させ、指定した順でソートし、全置換でソートキーを作ります。その後、元のレイアウトに戻ります。
または、ソートキーを Evaluate() を使って切り替えるようにしてもいいでしょうね。これでしたら、複合条件のソートも簡単に実現できます。
https://www.dropbox.com/s/cu3gkwpsj5q80 … 7.zip?dl=0
Last edited by Shin (2019-01-25 14:12:30)
Offline
Shin様
お返事、サンプルまでご提供頂き本当にありがとうございます!!
第2案のEvaluate関数を用いた手法で実装しようと思っておりますが重ねてご質問させてください
Field3の数値を変えてソートを試してみました
1桁であれば1から順に並んでいるのですが2桁以上だと1.10.123.2.3.4.41.....と左端の数値の昇べきでソートがかかってしまいます
この場合、どう対処すれば宜しいでしょうか?
お忙しい中、恐縮ではございますがご確認をお願い致します
**追記***
Evaluate関数の計算結果を数字にすれば数字フィールドは正しくソートされましたがテキストはバラバラでした。
Last edited by Koto (2019-01-28 14:15:57)
Offline
テキストで処理していますので、数値を読み込ませると結果が異なってしまいます。
数値の場合のみ、頭に適当な数の0をつけて文字数(桁数)を合わせる処理を行うといいでしょう。
一般的な対応が必要でしたら、FieldType () を使います。結果の2 番目の値がフィールドタイプで、Text (テキスト)、Number (数字)、Date (日付)、Time (時刻)、Timestamp (タイムスタンプ)、または Container (オブジェクト) になります。これを使って分岐すればいいでしょう。
Last edited by Shin (2019-01-28 17:16:51)
Offline
Shin様
いつもご丁寧にありがとうございます!
希望通りの形になりました
本当にありがとうございました
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 508.25 KiB (Peak: 514.03 KiB) ]