みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ブラウザのページ内検索のような事がしたいのですが、なかなか上手くいかず
お知恵をおかしください。
場面:
一覧でデータを表示した際に、絞込みや検索等ではなく
一覧の抽出されたデータはそのままで、ブラウザのページ内検索のように
そのレコードが表示されるところまで上下に移動したい
現状:
1:グローバルフィールド(テキスト)
2:一覧に設置
3:指定フィールドを条件式書式:PatternCountであれば黄色、無ければ白
としていますが、黄色になった所までスクロールを移動したいと思います。
どうぞ宜しくお願いします。
レコードを一つずつ順に見ていくしかないのでは。
Offline
WebDirect でアクセスして、ブラウザのなかで検索、が目的にピッタリかも。(FMSがいるけれど)
Offline
『手動でやるのが面倒だからスクリプトで楽したい』と言う事でしょうから、
手動操作では暗黙の内に自己判断で済ませていた部分を、機械でも分かるような形に明瞭化して、スクリプト化するだけですネ。^^;
Offline
チポ様、スクロールして現在は色付けを目で判断しておりますが、少し大変で。。やはり目で見ていくしかないのですね。
Shin様、私もWebDirectは考えましたが、他の使い勝手は悪くなる為、現状FMPで考えています。
Hiro様、仰るとおりでスクリプトでもいいので何とか出来ないか?と試行錯誤しています。
考えるに、条件に当てはまるものをLISTでIDを取得して、そのIDに移動すればいいと思ったのですが
上手くいかずです。
いや、見ていくのはスクリプトですよ。
Loop
で、最初のレコードから順にそのフィールドの値を見てゆき、
指定の値で止まる。
でいいでしょう。
Offline
そのまんま! の様なスクリプトを以前書いていたので貼っておきます。
スクリプト例:
スクリプト名:move_to_record($target_field,$search_value)
変数を設定 [$er; 値:Evaluate ( "Let ( [" & Get ( スクリプト引数 ) & "] ; 0 )" )]
フィールドへ移動 []
ウインドウの固定
変数を設定 [$レコード番号; 値:Get ( レコード番号 )+1]
変数を設定 [$n; 値:1]
変数を設定 [$MAX; 値:Get ( 対象レコード数 )]
Loop
If [$レコード番号>$MAX]
変数を設定 [$レコード番号; 値:1]
End If
Exit Loop If [$n > $MAX]
レコード/検索条件/ページへ移動 [ダイアログなし; $レコード番号]
Exit Loop If [PatternCount ( Evaluate( $target_field ) ; $search_value )]
変数を設定 [$レコード番号; 値:$レコード番号+1]
変数を設定 [$n; 値:$n+1]
End Loop
現在のスクリプト終了 [結果: False]
上記スクリプト実行時の引数:
"$target_field=" & Quote ( "テーブル名::フィールド名" )
& ";$search_value=" & Quote ( 検索値 )
複数のフィールドを対象にしたい場合は、
"$target_field=" & Quote ( "テーブル名::フィールド名1 & テーブル名::フィールド名2" )
& ";$search_value=" & Quote ( 検索値 )
Last edited by qb_dp (2018-08-02 14:17:45)
Offline
チポさん、そらそうですよね、バカでした(泣) ありがとうございます。
qb_dpさん、スクリプトありがとうございます!思うままになりました!
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 512.34 KiB (Peak: 516.88 KiB) ]