- ベストアンサー
ファイルメーカ スクリプトで
スクリプトで検索(抽出?)させています。 検索に該当するデータが無い時(そのむねのダイアログがでますが)自動的に元の画面に移動したいのですが、どうしたらよろしいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
・エラー処理オン ・コピー (レイアウトAから必要な項目をコピーしてます) ・レイアウトの切り替え (レイアウトBへ移動) ・検索モードに切り替え[一時停止しない] ・テキストを挿入[選択/検索するフィールド/「==」]----==○○で完全一致 ・貼り付け[選択しない/検索するフィールド] ・検索実行 ・If(Get(最終エラー)=401) ・全レコードを表示-----元々絞ってなかった場合 ・レイアウト切り替え----レイアウトA ・End If >if[]を選択後「指定」をクリックし、「計算式の指定」に記述するのでしょうか? そうです。右の関数から取得関数のGet(最終エラー)を選び=401とします。→ヘルプの関数を参照 でも実際に動かすと検索できたのかどうか、何となくわかりませんので ・If(Get(最終エラー)=401) ・警告音 ・カスタムダイアログを表示[タイトル例=残念;該当するレコードはありませんでした] を入れて、ボタン2の「キャンセル」を消してOKだけにします。 ・全レコードを表示-----元々絞ってなかった場合 ・レイアウト切り替え----レイアウトA ・End If とした方が今後のために役立ちます。ダイアログをまた出してしまいますが・・
その他の回答 (1)
- chieffish
- ベストアンサー率44% (1149/2554)
検索スクリプトの内容と、元の画面にも依りますが ・エラー処理/オン ・検索スクリプト ・If(Get(最終エラー)=401) ・全レコードを表示-----元々絞ってなかった場合 ・レイアウト切り替え----元のレイアウト ・End If とか?
お礼
>If(Get(最終エラー)=401) 解決しました。 ありがとうございます。
補足
下記のような検索用のスプリプトです。 ・コピー (レイアウトAから必要な項目をコピーしてます) ・レイアウトの切り替え (レイアウトBへ移動) ・検索モードに切り替え ・貼り付け (レイアウトAのコピーされた項目) ・検索実行 >If(Get(最終エラー)=401) この部分がわかりません。(ファイルメーカは今日から始めたもので) if[]を選択後「指定」をクリックし、「計算式の指定」に記述するのでしょうか? 追加質問ですが・・・ この時部分一致が条件になっていますが、完全一致にするにはどんなスクリプトを追加したらよろしいでしょうか?
お礼
完全一致も解決しました。 ご丁寧な回答、ありがとうございました。