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

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

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

You are not logged in.

Announcement

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


#1 2019-12-13 11:04:22

neko-neko
Guest

現在のレコードを表示させたまま、レコードを絞り込むことはできますか

FMPro17AdをWindows10で利用しています。

対象レコードの絞り込みを行うと、さっきまで表示させていたデータではなく、
最初のレコードが表示されてしまいます。

検索ボタンを押す前のレコードを表示させたまま、
絞り込むにはどうしたらよいのでしょうか。

ご教授お願い致します。

#2 2019-12-13 11:23:01

チポ
Member

Re: 現在のレコードを表示させたまま、レコードを絞り込むことはできますか

無理でしょう。


代替案ですが、、
そのレコード固有の値を得ておいて、
検索後、それを探して行く。
等でしょうね。

探すのは、
Loopで1レコードずつ見て行くか、
グローバルフィールドとリレーションして関連レコード移動
でできます。

Offline

#3 2019-12-13 11:26:04

Hiro
Member

Re: 現在のレコードを表示させたまま、レコードを絞り込むことはできますか

現在のレコードがフリー検索後の対象レコードセットに含まれる保証は無いのだから、
FMの仕様が正当で、あなたの考え方の方がむしろ不当な要求ですネ。

Offline

#4 2019-12-13 12:14:25

Shin
Member

Re: 現在のレコードを表示させたまま、レコードを絞り込むことはできますか

もし、もし、ですが、現在のレコードから、リレーションが張れるような検索を行うのでしたら、リレーションを通して、関連レコードへ移動、でいいですが。ごく限られた条件です。

Offline

#5 2019-12-13 13:09:27

qb_dp
Member

Re: 現在のレコードを表示させたまま、レコードを絞り込むことはできますか

Loopで目的の値のレコードへ移動するサンプルが以下にあります。

[解決] ブラウザのページ内検索のような事がしたい (ページ 1)
https://fm-aid.com/bbs2/viewtopic.php?pid=49094#p49094

Offline

#6 2019-12-13 13:59:41

Shin
Member

Re: 現在のレコードを表示させたまま、レコードを絞り込むことはできますか

対象レコードで、キー $Key になるフィールドの値を List() か、一覧集計で取得 $Text して、
CountValue ( Left ( $Text ; Position ( $Text ; $Key ) ) )
でレコード位置が求められるはずです。Loop よりは効率いいでしょう。

Offline

#7 2019-12-13 14:17:14

チポ
Member

Re: 現在のレコードを表示させたまま、レコードを絞り込むことはできますか

効率で言うのなら、、

関連レコード移動
が簡単でしょう。

ユニークなフィールドと、グローバルフィールド一つ
必要になりますが。

Offline

#8 2019-12-13 15:12:52

Hiro
Member

Re: 現在のレコードを表示させたまま、レコードを絞り込むことはできますか

関連レコードへ移動は、検索結果の対象レコードセットを保持するのが出来ないのでは?

Offline

#9 2019-12-13 16:06:36

チポ
Member

Re: 現在のレコードを表示させたまま、レコードを絞り込むことはできますか

移動だけの設定にすれば対象レコードが変わることはないですよ。

Offline

#10 2019-12-14 11:52:08

neko-neko
Guest

Re: 現在のレコードを表示させたまま、レコードを絞り込むことはできますか

たくさんの提案ありがとうございます。
本当に心強く、頼りにさせていただいております。

現状と、質問の補足を少しさせてください…

対象レコードの絞り込み条件は、「1つのチェックボックスのチェック」だけで、
もちろん、現在表示されているレコードもチェックが入っているデータです。

現在のレコードとは、一覧からリレーションされた明細レコードのような関係性のレコードの集まりなのですが
更にその中から【ボタン押下】のタイミングで「チェックが入っている」データだけに絞り込み、
別のレイアウトに表示させるとき、現在のレコードを表示させたいのです。

現状は、ボタン押下のスクリプトに
・レイアウト切り替え
・対象レコードの絞り込み
を設定しています。

これですと、☑で絞り込んだデータの最初のレコードが表示されてしまいますよね。
レイアウト切り替え前に、ボタンがあったレイアウトに表示していたデータの記憶?のようなことをしておき、
レイアウト切り替えをし絞り込みの後に、記憶していたものをまた何か設定すれば、
ボタンがあったレイアウトに表示されていたデータが、表示できないものでしょうか?
関連レコードへ移動を入れたりしてみましたがダメでした。

どんな設定をどこにすればよいかわからないのです…
上手く現状と、やりたいことがお伝え出来ていればいいのですが…

よろしくお願いします。

#11 2019-12-15 08:48:23

Shin
Member

Re: 現在のレコードを表示させたまま、レコードを絞り込むことはできますか

「1つのチェックボックスのチェック」ということは、値を複数持つことはない、今のレコードと同じ情報を持つレコードを抽出、ということでしたら、そのフィールドで自己リレーションを張り、
関連レコードへ移動(新規ウィンドウ)
が簡単でしょうね。

Offline

#12 2019-12-15 12:00:54

Hiro
Member

Re: 現在のレコードを表示させたまま、レコードを絞り込むことはできますか

>#10『対象レコードの絞り込み条件は、「1つのチェックボックスのチェック」だけで、』
今回、☑した検索フラグ(チェック値)は次回にも残ったままになるので、
毎回、全レコードをクリヤーリセットする事前処理が必要となりますネ。
これはいちいち面倒なので、これを避ける簡略な方法をよくとります。
それは、フラグ値に今回のみ有効な「固有シリアル値」(例えば、タイムスタンプ値とか)を使う手法です。
これなら、古いフラグ値が残留したまま放置しても一向に構いません。
※また、入力フラグ値の有効精査は「1値」照合が楽なので、「チェックボックス」は、
  「択一」強制入力可能な「ラジオボタン」へ換えます。

説明がなかなか伝わり難い様なので、チポさん案「関連レコードへ移動」を利用する方法の
上説作例サンプルを補足アップしときます。
●サンプル「検索後現レコード表示.fmp12」 → https://1drv.ms/u/s!AlaCGhTKTWEOp3NIz_R … F?e=uO9LsU

Last edited by Hiro (2020-05-12 15:34:10)

Offline

#13 2019-12-16 11:37:29

neko-neko
Guest

Re: 現在のレコードを表示させたまま、レコードを絞り込むことはできますか

Shin 様

ありがとうございます。
なんとなく出来そうな気がするのですが、何分自己リレーションの概念が
よくわかっておりませんで。。。
【そのフィールドで自己リレーションを張り】とは、どのようにしたらよいのでしょうか

子テーブル同士をリレーション張るということでしょうか?

現在、親テーブルの全レコードの中に、
すでにチェックボックスセット(□A□B□C)にチェックの入ったデータが複数件あります。

その中のAに☑が付いている、例えば佐藤さんのデータを1件表示している親テーブルレイアウトがあります。

その親テーブルレイアウトに配置したボタンを押下したとき
子テーブルレイアウトに切り替えて、Aに☑が付いているデータだけに絞って、さらに画面には佐藤さんのデータを表示させたいのです。

【値を複数持つことはない】とは、上でいうことに当てはまりますか?
【今のレコードと同じ情報を持つレコードを抽出ということえあれば】、これはその通りです。

自己リレーションだけでできますでしょうか?


Hiro 様

サンプルまで作成していただきありがとうございます。

はい、やりたいことは子テーブルコピーレイアウトに表示されているものそのものです。
自己リレーション
設定するところは、フィールドを2つ追加し、自己リレーション?と、スクリプトでしょうか?
なかなか、敷居が高そうですが、理解するのに、時間がかかりそうですが。。。
がんばって解読してみます。

できればもうしばらくお付き合いいただけますと助かります。

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

#14 2019-12-16 12:00:00

neko-neko
Guest

Re: 現在のレコードを表示させたまま、レコードを絞り込むことはできますか

Hiro様

申し訳ありません。
子テーブルコピーレイアウトには1件しか表示されていないのです。。。

私がやりたいのは、サンプルでいうところの
親テーブルレイアウトから、子テーブルレイアウトにボタンで遷移するとき
例えば、親ID001、子ID4のデータを選択し、関連レコード検索ボタンを押下したら
子テーブルレイアウトに子ID4のデータが表示されていますよね。
さらに、データも親ID001のデータ5件に絞り込まれてますよね。
これをやりたいのです。

サンプルとこちらの現状と違うところは
親テーブルレイアウトにあたるレイアウトはフォーム形式です。
ポータルもないのです。
なので、例えでいうところの、親ID001、子ID4のデータを選択することができないのです。。。

言葉足らずで、本当に申し訳ありません。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 599.69 KiB (Peak: 616.59 KiB) ]