みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
FileMaker Pro Advanced 13にて初めて開発を始めました。
テキストフィールド、数字フィールドなどのタイプが混在している入力画面で、変更されたフィールドの文字色を変更したいので
フィールドのスクリプトトリガでOnObjectModifyの時に、オブジェクトの更新[TextColor ( フィールド名 ; RGB ( 220 ; 11 ; 32 ) )]としましたが
変更されませんでした。
書式設定関数の使い方が間違っているのでしょうか?
オブジェクトの更新 でなく フィールド設定
しかしこの方法だと、一回変更するとその後はずっと色が変わったままになります。何と比較して変更とするのか考えないとだめでしょう。
変更だけではなく、最初に入力したときにもスクリプトが動きますよ。
Offline
timさん、ありがとうございます。
何と比較するか、またフィールド設定で行うとのこと、参考にさせていただきました。
対象となるフィールドへスクリプトトリガを設定しました。
まず、OnObjectEnterで入力前の値を変数にセットし、OnObjectExitで入力後の値と入力前の値を比較しました。
比較した結果が違っていたら、フィールド設定で文字色を変更しました。
上記の手順で実現できました。ありがとうございました。
チポさま、ありがとうございます。
新規の場合は、新規かどうか判断させることで回避できました。
ありがとうございました。
もうひとつ未解決なこととしては、プルダウンの場合も変更されたら背景色を変更したいのですが
書式設定関数には無かったので、困っています。
背景色(フィールド塗り)は条件付き書式で。
Offline
旅人さま
条件付き書式でフィールドの値が変更されたかどうかの判断はどのように行ったらよいでしょうか?
文字色が変更されたあとは、永久にその書式のままで表示させるのですか。
Offline
Shinさま
変更箇所は決裁がおりたら元に戻すようにします。
>OnObjectEnterで入力前の値を変数にセットし、
>OnObjectExitで入力後の値と入力前の値を比較しました。
これと同じかと。Exitの方に
If[$$入力前=$$変更後]
フィールド設定[あるフィールド;1]
End If
とかを付け加えて、このあるフィールドの値を条件にする。
Offline
Pages: 1
[ Generated in 0.010 seconds, 7 queries executed - Memory usage: 513.72 KiB (Peak: 518.26 KiB) ]