みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
またお願いします。
入力補助に直前に参照したレコード値を入れてくれる設定があると思いますが、
それを計算式に関数でいれたいのですが、思った様なのがないのですが、
難しいでしょうか?
Offline
そういう関数はないと思いますけど、入力値自動化の計算式ですか?
「条件次第?」ではGetNthRecordとかが使えるのでは。
↑
勘違いしました。m(_ _)m
Last edited by 旅人 (2013-12-04 12:02:58)
Offline
対象レコードからだけ参照するならGetNthRecordも使えるかも。
グローバルフィールドからレコードIDのフィールドにリレーションしておいて、
onRecordCommitとかRevertとかのトリガでレコードIDをそのフィールドに入れる?
ありがとうございます。
onRecordCommitイベントが起こる前には前のIDが入りますが、レコードが確定したら
そのグローバルフィールドに現在のレコードIDが入ってしまうのではないでしょうか?
Offline
どういう動作を希望するのかによって何を使うか考えてください。
レコードを移動するまでは、最後に変更した(現在の)レコードから参照しないみたいですね。
ありがとうございます。
新規レコードを更新でなく作った時だけ起こるイベントの様な物があれば、その時点で上のフィールドの値を捕まえる事が出来るのですが、
ないですよね?
レコード新規作成時、グローバルフィールドから自己リレーション経由のルックアップで値を逃がす事も試しましたが、
レコードを移動させる前にあるタイミングで自動で再ルックアップされてしまう様で、それもダメでした。。。
関係ないですが、レコード新規、更新、削除時別にイベント出してくれたら気軽で良いですね。13では出るんですかね。。。
データの整合性を任せるスクリプトを一レイアウトのトリガーに載せるのも不安なんですよね。
Last edited by apo (2013-12-05 11:37:35)
Offline
>上のフィールド
時間的な「直前」でなく位置が「上」なら、GetNthRecordの出番ですが
レコード作成時だけ計算させるには、Evaluate("計算式")のようにして、フィールド名がない状態にする。
Let (
N=Get ( レコード番号 );
Case ( N > 1 ; Evaluate ( "GetNthRecord(フィールド名;" & N - 1 & ")" ) )
)
「全フィールドが空欄の時も計算する」
13で増えたトリガはiOS関係のだけで、データベース関係のは無いです。
おっしゃる通り、画面じゃなくテーブルに必要ですよね...特に削除がないのが不便。
ありがとうございます。
おっしゃって頂いたことにより、自分の用事はGetNthRecord ( 欲しいレコードのフィールド ; Get(レコード番号)-1 )
で取れるという事に今気づきました。。。
EvaluateやLetは分からないので放置していました。時間的な直前が欲しい場合解法がそこにある訳ですね。
勉強します。
そうですかテーブルスクリプトステップはまだないですか。自分みたいなバカでもそれさえあれば旨くいく事が
たくさんあるんだけどな、、。
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 517.3 KiB (Peak: 521.84 KiB) ]