みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
教えてください。
レコードを移動する際に反応してくれるトリガーはありますでしょうか?
レイアウトのトリガーのonrecord commitではフィールド以外のところを
クリックしてしまったりした時に起こったりするレコード確定の度に反応
してしまって使えません。。
Offline
onRecordLoad
出る時ではなく入ったときですが。
フィールドみたいなonRecordExitというのは、ありません。
ありがとうございます。
onRecordLoadがイベントが処理される直前に呼ばれればなんとかしようがあるのですが。。
Offline
Exit
ないんですよねーー
OnRecordLoadを使って
元のレコードに戻る
元のレコードの処理
最初の移動先を表示
結構こねくり回してやったことが有りますが、、
ご希望なら捜してみます・・どうやるか思い出せない・・老化 ;;;
Offline
ありがとうございます。
元のレコードに戻るわけですか。自分がやったらループで強制終了パターンです。
もしお手間じゃなければそのソースを見てみたいです。。
Offline
見つけ出しました、それほど面倒なステップではなかったです。
フラグフィールドを作ります。
スクリプトの考え方
If [IsEmpty ( フラグ ) ]
フラグ = 2
フラグ = 1のレコードへ移動
元のレコードの処理
フラグ = ""
フラグ = 2のレコードへ移動
フラグ = 1
End If
レコード移動は、
グローバルフィールドを作り、それとフラグとのリレーションで、
関連レコードへ移動
が簡単ですね。
飛ばし気味ですが、これでいかがでしょう。
Offline
ありがとうございます。
バカで申し訳ないですが、フラグ = 1のレコードへ移動はフラグに1を入れてからそのレコードに移動という事ですか?
ならば上でフラグに2を入れるのは何の意味があるのでしょうか?
Offline
フラグ = 1のレコードへ移動
これは、
フラグフィールドの値が 1 のレコードへ移動
という意味です。
最初に、現在のレコードのフラグに 1 を入力しておく
と書けばお分かりになりやすいでしたね。
しかし、
この方法は共有ではまずいですね。
改良版を、、
グローバルフィールドと、レコードIDのフィールドを作り、
この二つでリレーションを定義します。
スクリプト
If [グローバル ≠ レコードID ]
変数を設定 [$a ; レコードID ]
関連レコードへ移動(上記のリレーション)
//これで元のレコードに戻りますから、そこで処理
フィールド設定 [ グローバル ; $a ]
関連レコードへ移動(上記のリレーション)
End If
スクリプトはこれでいいですね。
運用の最初にグローバルフィールドに現在のレコードIDを入力しなければなりません。
これはスクリプトにして、ファイルを開くときに実行すればいいでしょう。
Offline
ありがとうございました。
よくわかりました。汎用にするにはページ数に移動でなしにグローバルフィールドを使って関連レコードへ移動が必須ですね。やってみます。
Offline
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 517.43 KiB (Peak: 521.97 KiB) ]