初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2015-11-10 12:53:37

NK
Member

レコードの更新情報で、どのスクリプトが変更したかを取りたい

FMP14adv
Mac

です。

ハウスキーピングフィールドで、
作成タイムスタンプ、アカウント
更新タイムスタンプ、アカウント
をフィールドの自動入力で取っています。

想定しないレコードの変更がなされている原因を突き止めるために、
スクリプトで更新された時にどのスクリプトがそのレコードを更新したかを、
Get(スクリプト名)で自動入力できないかと考えたのですが、
更新されたタイミングではスクリプトが終了しているようで、
自動的にスクリプト名を取得することはできませんでした。

何かいい方法はないでしょうか。
スクリプトは数も多いので、スクリプトを実行するときにフィールド設定するのではなく、
フィールドの自動入力でできればと思っています。

よろしくお願いいたします。

Offline

#2 2015-11-10 13:28:39

Shin
Member

Re: レコードの更新情報で、どのスクリプトが変更したかを取りたい

各スクリプトの終了の前に、レコード確定,というステップを追加しておけば良いのでは。(副作用も考えられますので、十分注意して)

Offline

#3 2015-11-10 13:35:12

Moz
Member

Re: レコードの更新情報で、どのスクリプトが変更したかを取りたい

入力値の自動化の計算式は計算式中のフィールドが変更された場合に再評価されるので
確定しようがしまいが Get ( スクリプト名 ) は取れないですよ。

Offline

#4 2015-11-10 13:40:26

Shin
Member

Re: レコードの更新情報で、どのスクリプトが変更したかを取りたい

勘違いしていた。
Evaluate ( "Get ( スクリプト名 )" ; 更新タイムスタンプ )
という計算フィールドにしておけばどうだろうか。(未検証)

Offline

#5 2015-11-10 13:42:47

Moz
Member

Re: レコードの更新情報で、どのスクリプトが変更したかを取りたい

私たち意外と気が合うかも知れない(汗)

Evaluate ( "Get ( スクリプト名 )" ; 更新タイムスタンプ )

これを検証していました。

スクリプトで編集したのが最後ならスクリプト名、手入力で変更したら空白が返ります。

→更新タイムスタンプってのは更新日時が入力値の自動化設定されたフィールドのことです。

Last edited by Moz (2015-11-10 13:43:32)

Offline

#6 2015-11-10 15:44:00

NK
Member

Re: レコードの更新情報で、どのスクリプトが変更したかを取りたい

Shin さん Mozさん ありがとうございます。

バッチリ、スクリプト名がとれました。
Evaluate で計算式を評価するタイミングのコントロールができるのはとてもいい勉強になりました。

しかしスクリプトが動いている間に更新させないといけないので、
レコード確定入れる必要がありますね。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 554.76 KiB (Peak: 583.05 KiB) ]