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

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

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

You are not logged in.

Announcement

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


#1 2020-03-03 13:20:01

neko-neko
Guest

リスト形式表示させているレコードのソートについて

FM17 Win10を使用しています。

単純に、連番を振った番号順に、表示させたいのですが
検索をすると元(データ入力順)に戻ってしまうので困っています

もともと、どこかで設定されているのでしょうか。

やりたいことは、常に、連番の大きい順にソートして表示させたいだけなのです。

しかし、絞り込み(検索)をすると、なぜか連番の小さい順に並び、更に
カーソルがデータの一番下に行ってしまい、いちいちスクロールして一番上まで
戻すのも面倒です。

どのように、どこに設定すればよいのでしょうか。

#2 2020-03-03 13:50:27

Shin
Member

Re: リスト形式表示させているレコードのソートについて

検索などを行うと、ソート順はデフォルトに戻ります。デフォルトは、Get ( レコードID ) で得られる数値順です。
そのレイアウトで常にソートをかけておきたいのでしたら、例えば、OnModeExit トリガーを使って、レコードのソートとレコード移動を行うスクリプトを走らせればいいです。

Offline

#3 2020-03-03 15:58:35

himaganee
Guest

Re: リスト形式表示させているレコードのソートについて

「一番下に行く」のは、何かスクリプト(トリガ)が既に設定されているのでは?何もなければ一番上に行くはずです。

#4 2020-03-04 13:33:42

neko-neko
Guest

Re: リスト形式表示させているレコードのソートについて

Shin様 himaganee様

ありがとうございます。

>検索などを行うと、ソート順はデフォルトに戻ります。

やはりそういう仕様なのですね。
はっきりわかり安心しました。

>そのレイアウトで常にソートをかけておきたいのでしたら、例えば、OnModeExit トリガーを使って、レコードのソートとレコード移動を行うスクリプトを走らせればいいです。

おっしゃる通り、そのレイアウトで常にソートをかけておきたいので、
設定のOnModeExit トリガーに並べ替えたいソートと関連レコードへ移動の2つをスクリプトを設定しました
が、上手くいきません。

もともとは、ブラウズモード状態で、上のメニューバーに表示されるソートに、日付順が設定してあるのですが
ご指摘の通り、検索をするとデフォルトに戻ってしまっていました。

なので、ブラウズモード時のソートの設定は削除し、OnModeExit トリガーにだけ設定をしてみたのですが
なぜか、日付順のソートがずっと効いていてうまくいきません。

レコードのソートの設定を削除しても、再度、ファイルを開くと、またソートのところに日付順が入っていて効いているのです。
メニューバーのレコードのソートの設定は消すことはできないのでしょうか?

himaganee様

さらに、スクロールの一番下にカーソルがあるのも変わりません。

前任者がどこかに、なにかの設定をしているのでしょうか?
気になるスクリプトが、全レコード表示のスクリプトです。
これをやると、デフォルトの表示になってしまいますか?

スクリプトも、たくさん作成されていて、実際に利用されているかも把握出来ずにいます。
ここらへんも含めて、実際に利用されているスクリプトか、使用しているならどこに設定しているのかなど
わかる手立てはありませんか?

更なる何か、ヒントいただけたら幸いです。

#5 2020-03-04 17:03:47

himaganee
Guest

Re: リスト形式表示させているレコードのソートについて

「並べ替えたいソートと関連レコードへ移動の2つをスクリプトを設定」
関連レコードへ移動は対象レコードを変えるステップなので、ソートを解除します。

「ブラウズモード時のソートの設定」というのは、ありません。ソートしたときにソートされるだけです。検索したり全レコード表示すれば解除されます。

「レコードのソートの設定を削除しても、再度、ファイルを開くと、またソートのところに日付順が入って」
共有ファイルでは、アップロードする前の状態が保存されるものがあります。(グローバルフィールド以外に、前は対象レコードとソート状態も保存されてた気がしますが、最新バージョンではどうだったかなあ)

#6 2020-03-04 17:14:46

neko-neko
Guest

Re: リスト形式表示させているレコードのソートについて

主です。
要点がわかりにくく、すみません。

Shin様のおっしゃっている、OnModeExit トリガーを使って、レコードのソートとレコード移動を行うというスクリプトを
私なりに作ってみたところ、はじめは、ソートされているのですが
検索をしてしまうと、やはり、ソートがかかりませんが、カーソルは一番上にあります。
更にその状態から、メニューバーからレコードのソートをすると、検索されたデータに絞られたままで
ソートは無事されているのですが、カーソルが一番下になってしまいます。

見たいデータは常にリストの上の方なので、困っています。
OnModeExit トリガーのスクリプトの書き方が間違っているのでしょうか。

ステップは2つで、レコードのソートと関連レコードへ移動だけです。

どこを見直せばよいでしょうか?
よろしくお願いいたします。

#7 2020-03-04 17:39:47

ててを
Member

Re: リスト形式表示させているレコードのソートについて

「関連レコードへ移動」ではなく「レコード/検索条件/ページへ移動」だと思われます。

Offline

#8 2020-03-04 17:45:33

mic
Member

Re: リスト形式表示させているレコードのソートについて

OnModeEnter にしてみては?
OnModeExit だと、ブラウザモードに戻った直後の表示はデフォルトのままのような気がします。

Offline

#9 2020-03-04 18:07:29

Shin
Member

Re: リスト形式表示させているレコードのソートについて

書き間違った。
OnModeEnter です。そこで、モードを判断して、ブラウズモードならばソートとレコード移動しましょう。

Offline

#10 2020-03-05 19:52:06

neko-neko
Guest

Re: リスト形式表示させているレコードのソートについて

みなさん、ありがとうございます。

OnModeEnterで、ソートし、「レコード/検索条件/ページへ移動」を使用して、その後、検索をしても上手く表示出来ていることもあるのですが、
他のレイアウトに遷移したりすると、ソートを保ったままの時と、真逆のソートがかかるときがあります。

はっきりどの状態の時とはわからないのですが、確実なのは、逆のソートがかかった時は、必ずカーソルが一番下にあることです。

他のレイアウトのトリガーには何も設定していないのですが、

やはり、他のレイアウトに遷移したときに、別のそのレイアウト用のスクリプト(絞り込み検索)などを使用しているので

それを実行してから、元のレイアウトに戻っても、デフォルトに戻ってしまい、OnModeEnterが効いていないということなのでしょうか?

なぜ、ソートされているときと、戻ってしまっているときがあるのかまだよく理解できていません。

引き続きなにか原因を探る方法がありましたら、サポートお願いできますでしょうか。

よろしくお願いいたします。

#11 2020-03-06 08:47:32

Shin
Member

Re: リスト形式表示させているレコードのソートについて

その別のレイアウトで、同じテーブルを触っているのでしょう。
新規ウィンドウをだしてそちらで作業し、戻るときにはそのウィンドウを閉じればいいでしょうね。

Offline

#12 2020-03-06 12:19:53

neko-neko
Guest

Re: リスト形式表示させているレコードのソートについて

なるほど。。。

少しずつわかってきました。

別のレイアウトで、同じテーブルにレコードを追加しています。

それが、原因だとすると、別ウインドウで作業するのが、簡単な回避方法なのでしょうか

もう少し、補足させていただくと、、、

FMのチュートリアル動画にもあるような、表示だけの一覧表とその矢印ボタンを押すと、詳細レイアウトに切り替えてデータ追加する、というような簡単な関係のファイルなのですが、

一覧表で、ソートをせっかくかけていても、詳細レイアウトでレコードを追加して、一覧表にまた戻ると、

元々通し番号降順になっているところの、一番下の行に新規のレコードが追加され、カーソルも下になってしまいます。

それを、回避するには、別ウインドウで作業するしかないのですか?

カスタムAPPは下に追加しかないのですかね。。。

#13 2020-03-06 13:11:57

Moz
Member

Re: リスト形式表示させているレコードのソートについて

すでに他の方も書いていますがレコードのソートは対象レコードに対して行います。
検索条件を変えたり全レコードを表示したりして対象レコードが変われば解除されてしまいます。

それに対して同じテーブルオカレンスに基づく対象レコードを同じウインドウ内で操作している場合は
レイアウトが変わったとしてもソート順は維持されます。
※対象レコードが同じ他のレイアウトでソートしたら元のレイアウトでも同じソート順になります。

一番下に追加されるか否かはソート順とソート時のオプションによります。
[ソートされた順位でレコードを保持]をオンにしていれば新しく作成したレコードも自動的にソートされます。

例えば通し番号(入力値の自動化:シリアル値(作成時))の降順にソートされている場合、
新しく作成したレコードが編集され確定した瞬間に一番上に移動します。

作成したときは一番下ですがレコードが確定してソートが行われて自動的に移動します。
※ソート順によってはレコードが多いと新しく作成したレコードを見失う可能性もあります。
例えば文字列順などでは入力内容によって移動する位置が変わるので見失いがちです。

レコードのソート

Last edited by Moz (2020-03-06 13:13:37)

Offline

#14 2020-03-06 13:42:14

Shin
Member

Re: リスト形式表示させているレコードのソートについて

> 一覧表で、ソートをせっかくかけていても、詳細レイアウトでレコードを追加して、一覧表にまた戻ると、
> 元々通し番号降順になっているところの、一番下の行に新規のレコードが追加され、カーソルも下になってしまいます。
詳細レイアウトでレコードを作って、元のレイアウトに戻るのですよね。
新規レコードを作った時点で、アクティブレコードはその新レコードになります。通し番号がシリアルになっているのでしたら、そのレコードの番号は最大になっているはずでソートすると最下行に来ますので、どこもおかしくないです。

どのような動きが作りたいのか書いてみれば。ひょっとして、リスト表示で選択したレコードへ戻りたい、ということですか。ならば、別ウィンドウで作業が簡単です。ただし、リストが全レコードが対象になっていれば問題ないですが、抽出された状態でしたら、別ウィンドウで作った新規レコードは対象外になっています。

Offline

#15 2020-03-08 01:07:20

neko-neko
Guest

Re: リスト形式表示させているレコードのソートについて

Moz様 Shin様

初心者にとって、とてもわかりやすく書いていただきありがとうございます。
FMでのソートの対象になるかならないか、よくわかりました。

こちらの文章力がないために、なかなか現状を伝えられずお騒がせしてすみませんでした。

一覧レイアウトに戻るボタンのスクリプトに、必ずソートをするようにしたところ、他のレイアウトでデータを追加しても
追加したレコードも含めて降順に表示できるようになりました。

ありがとうございました。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 604.17 KiB (Peak: 621.08 KiB) ]