みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
WIN10
FM14
を使用しています。
前提
〇使用しているテーブルは一つです
〇使用しているフィールドは二つです。
・人名フィールド(テキスト)
・日付フィールド(日付)
〇レコード総数は1000レコードです
例)今、検索結果として表示させているレコードは
名前フィールド:”山田”
日付フィールド:2021/4/1 の1レコードとします。
※2021/4/1が入っているレコードは5全部で0レコードあります
この状態から全レコードを対象として ①2021/4/1の対象レコード(50件)を検索し、検索結果からさらに先程の”山田”と2021/4/1が入力されているレコードを表示させたいのですが、
スクリプトを組むのは可能でしょうか?
単純に日付の変数で検索するのはわかりますが、”山田”と2021/4/1のページが見たいのに別のページが表示されてしまします(当然ですが)
ご教授よろしくお願いします。
Offline
一つの検索条件の複数のフィールドに入力して検索するとand条件になります。
また、
対象レコードの絞り込み
で複数回の検索で絞り込んで行くことができます。
Offline
”山田”と2021/4/1のレコードが存在している、2021/4/1のレコードを検索したら、その中の”山田”のレコードをアクティブにしたい、という事でしょう。
検索すると、対象レコードのトップのレコードがアクティブになります。そこから loop で探すのが一番シンプルです。
Offline
検索結果に他の「山田」があるかもしれないので、検索する前にレコードIDなどを保存しておいた方が確実でしょう。
画面上のフィールドなら「検索/置換」を使って移動という方法もあります。
ちょっと特殊な値一覧を作ります。
グローバルフィールドを用意して、氏名から自己リレーションします。できないよ、というダイアログが出ますが、無視。
そのリレーション先のグローバルフィールドで値一覧を設定します。できないよ、というダイアログがまた出ますが、無視。
処理は、まず、グローバルフィールドに”山田”を設定します。
次に、日付を2021/4/1で検索します。
氏名フィールドで、値一覧を使ってソートし、最初のレコードへ移動し、ソートを解除します。
https://www.dropbox.com/s/s2tw6em8p3s5t … 2.zip?dl=0
Last edited by Shin (2021-04-05 22:23:01)
Offline
皆様ありがとうございます。
まさしく#3のSHIN様の言われることをしたいのですが、(#5でサンプルまで作っていただいてありがとうございます。)
「 loop で探すのが一番シンプルです。」
これをしたいのですが、現在はのスクリプトは
”山田”と 2021/4/1 がアクティブになっている状態で
①日付の変数を設定
②検索実行【記憶する】
をしています。そこにLOOPを織り交ぜてくるとなると・・・・
どのような構文になりますでしょうか?ご教授よろしくお願いします。
Offline
> ①日付の変数を設定
この次に
「山田」を変数に設定
> ②検索実行【記憶する】
検索直後は最初のレコードが選択されていますから、
これに続けて、
Loop
Exit Loop If [ 人名 = 「山田」の変数 ]
次のレコードへ [最後まできたら終了]
End Loop
でいいでしょう。
Offline
チポ様
できました。大変勉強になりました。
ありがとうございました。
Offline
[ Generated in 0.019 seconds, 11 queries executed - Memory usage: 518.3 KiB (Peak: 523.21 KiB) ]