- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイルメーカー:計算フィールドの文字の色をスクリプトで変更しようとすると、変更禁止のメッセージがでる。)
FileMakerPro8で計算フィールドの文字色を変更する方法は?
このQ&Aのポイント
- FileMakerPro8で「住民検診」のデータを入力するレイアウトを作成しています。検査結果が基準値内なら青色の文字で表示し、基準値を超えた場合は赤色の文字で表示したいと思っています。フィールドのタイプが「数字」ならうまくいくのですが、計算フィールドだけがうまくできません。
- BMI値は身長と体重から計算されるため、計算フィールドになります。計算式はRound(体重 / ((身長 / 100) * (身長 / 100)); 1)です。BMI値フィールドの文字色を変更するためのスクリプトを作成しましたが、実行すると「このフィールドは変更禁止なので、この操作は実行できません」というメッセージが表示されます。
- 初心者の方にとっては理解しにくいかもしれませんが、このような事象はデータベースの仕様によるものです。回避する方法としては、計算フィールドではなく、テキストフィールドを利用することが挙げられます。計算フィールドに代わり、テキストフィールドを作成し、スクリプトで条件に応じてテキストフィールドの文字色を変更するように設定することで目的を達成することができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
5.5しか使ってませんが、 if(Round(体重/((身長/100)*(身長/100));1) >18.5 and Round(体重/((身長/100)*(身長/100));1) <25 ; TextColor(Round(体重/((身長/100)*(身長/100));1);rgb(0;51;153)); TextColor(Round(体重/((身長/100)*(身長/100));1);rgb(255;0;51)) ) みたいになるんじゃないですかね。ま、私なら、「BMI表示用」って テキストフィールド作って、そっちをいじりますけどね。
その他の回答 (2)
- chieffish
- ベストアンサー率44% (1149/2554)
回答No.3
>どのような計算式を書けば可能なのでしょうか? FM6にはTextColor関数が無いので8の試用版(Mac)をダウンロードしてみました。 6とはかなり違うので戸惑っています。 No.2の方の式のようなものになると思いますが、TextColorは引数も戻り値もテキス トとなっているのですね。でも数字でも計算するようですね。
質問者
補足
回答ありがとうございます。ご指摘のように、引数や戻り値が「テキスト」にも関わらず、フィールドタイプが「数字」でも、文字の色が計算どおりに変わってくれます。 私も最初はそれが原因だと思いましたが、実際には出来てしまいます。
- chieffish
- ベストアンサー率44% (1149/2554)
回答No.1
FM8は注文中なので良く解っていませんが スクリプトにしないで計算式にするというのはダメなのですか?
質問者
補足
回答ありがとうございます。BMIの計算をして、その計算結果の条件によって文字の色を変えるという計算式が思いつかなかったので、スクリプトを使おうと考えました。どのような計算式を書けば可能なのでしょうか?もし良ければ教えてください。
お礼
回答ありがとうございます。TextColor(Round(体重/((身長...) の箇所が思いつきませんでした。100%の回答をいただきありがとうございました。うまく表示できました。回答の最後にありますように、「BMI表示用」というフィールドを作り、そっちをいじります。フィールドが一つ増えるけど処理がすっきりしますね。