みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
行き詰ってしまい質問させていただきます。
現在のレコードの絞込み状態が「全レコード表示」状態か「対象レコード」に絞り込まれた状態か判別する方法が思いつきません。
そのような関数があるか調べましたが見当たらなくて
Get ( レコード総数 ) = Ge ( 対象レコード数 )
では、対象レコードが全数であった場合のケースのみ判別できない状態です。
何か良い方法はありますでしょうか?
それが計算フィールドなら、その式を非保存にする。
条件式として何か他の計算式内でならそのまま使う。
Offline
旅人様
回答ありがとうございます。
条件式で使っていますが、質問の内容は絞込状態の判別についてです。
総レコード10件のデータに検索をかけて10件ヒット(ツールバーのレコード表示が10/10の状態)した場合に、それが「全レコード表示」状態ではなく「対象レコード」表示状態である。
という事を判別する方法がないかどうかという感じになります。
Get ( ソート状態 )の様な関数があるので、それの検索結果のレコード状態バージョンの関数もあるだろう、と探して見つからなかっため質問させて頂いた次第です。
あ、そういうことですか。
無理じゃないかな。検索がスクリプトならできるのかなぁ?
Offline
Get (検索条件数) はどう?
Offline
検索結果がなくてキャンセルしたり、検索実行後に全レコード表示しても変わらないので、だめのようです。
アイデアだけですが、
その状態のIDのようなものをリストとして取り出しておきます。
検索条件を変更、で、最終検索条件に戻りますので、それでもう一度検索をかけて、先のIDのリストと比較します。
ただ、検索の拡大などを行なっていたらだめですが。
Offline
無理やりですが、検索ボタン等をツールバーを利用させずという感じですが、
検索スクリプト作ったことないので、的外れでしたらすいません。
http://pupld.net/07/140619/p4826xv882/index.cgi
新規ウィンドウ
検索条件を変更
検索実行
で、最終検索状態が得られますので、この対象レコードと元の対象レコードを比較すればいいようですよ。検索エラーの場合にも対応できそうです。
ただ、検索後に全レコードを表示サせてしまうとどうしようも無いです。
また、上にも書いたように、検索状態から、対象レコードの絞り込み、対象レコードの拡大 を行なっているのでしたら、無理です。
Offline
検索実行(で全レコードが検索されたとして)後に全レコード表示しても、検索条件も対象レコードも変わらないので、Shinさんのアイデアも無理です。
該当件数の表示は変わるから、FM的には区別してるのは確かなんですが。
共有ファイルなら、別のウィンドウで新規レコードを作れば判断できるけど、気持ち悪い。
共有でなくてもできた。
というより、共有だと自分以外がレコードを削除する可能性があるから、厳密にはうまくいかない?
レコード作成時にシリアル番号が増えてしまう可能性が。
こうまでして判別しても、それで何をするのかという気もするけど
変数を設定 [$wn; 値:Get ( ウインドウ名 )]
If [Get ( レコード総数 ) = Get ( 対象レコード数 )]
新規ウインドウ [名前: $wn & "$"; スタイル: ドキュメント]//既存のウィンドウ名と一致しないこと
新規レコード/検索条件
ウインドウを選択 [名前: $wn; 現在のファイル]
If [Get ( レコード総数 ) = Get ( 対象レコード数 )]
カスタムダイアログを表示 ["全レコード"]
Else
カスタムダイアログを表示 ["検索状態"]
End If
ウインドウを選択 [名前: $wn & "$"; 現在のファイル]
レコード/検索条件復帰 [ダイアログなし]
ウインドウを閉じる [現在のウインドウ]
Else
カスタムダイアログを表示 ["検索状態"]
End If
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 518.4 KiB (Peak: 523.3 KiB) ]