FileMaker Advent Calendar 2015 17日目ですね。
今回は、ちょっとブラウザチックに「前の検索結果に戻りたい」ので戻りましょう、という実装です。
別に戻らなくてもいいじゃないか、というO型の性格なのですが、きちっとしたことが大好きなA型が多い日本なので、対応したという感じです。
要は、集計でレコードIDを持っていて、それを前に戻る材料にしているというところです。
レコードID(recid)、レコードIDを一覧で持つ集計(recid_集計)、検索等で対象となっている件数を保持するカウントフィールド(recid_cnt)を追加します。
「前の検索を表示」とありますが、スクリプトの中であれこれ必要な検索をして、スクリプトが走る前のこの状態に戻るということになります。
諸々検索の前であらかじめ対象レコード数と集計結果を変数に退避しておきます。
その後、検索でエラーになった場合に元の状態に戻す、という感じです。
単に検索条件にレコードIDを設定しているだけなのですが、これで十分スクリプトが動く前の状態を保持できます。
ただし、集計を使っているので、レコード数の増加に比例して処理速度も遅くなる可能性はありますので、必要なところだけにしておく方がいいかと思います。
ほんとはこんな実装しなくても「元のレイアウトに戻る」のように「元のデータ表示に戻る」というようなものが用意されていればなんてことはないんですけどねー。