電子書籍の厳選無料作品が豊富!

 FileMakerPro8で、「住民検診」のデータを入力するレイアウトを作っています。検査結果が基準値内なら、青色の文字で、基準値を超えた場合は、赤色の文字で表示したいと思っています。各フィールドのタイプが「数字」ならうまくいくのですが、一箇所だけ「計算フィールド」があり、そこだけがうまくいきません。
 BMI値は、身長と体重から算出するので、どうしても計算フィールドになります。計算式は、 Round (体重 / ((身長 / 100) * (身長 / 100)) ; 1 )です。
 BMI値フィールドの文字の色を変更するため、「BMIチェック」というスクリプト
IF (住民検診::BMI ≥ 18.5 and 住民検診::BMI < 25)
フィールド設定(住民検診::BMI TextColor ( 住民検診::BMI ; RGB ( 0 ; 51 ; 153 ) )
ELSE
フィールド設定(住民検診::BMI TextColor ( 住民検診::BMI ; RGB ( 255 ; 0 ; 51 ) )
を作成したのですが、スクリプトを実行すると「このフィールドは変更禁止なので、この操作は実行できません」というメッセージが出てうまくいきません。
 このような事象が仕様によるものだということは、なんとなくわかるのですが、データベースは初心者でよくわかりません。このような事象を回避する方法がありましたら教えて下さい。お願いします。

A 回答 (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表示用」って
テキストフィールド作って、そっちをいじりますけどね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。TextColor(Round(体重/((身長...) の箇所が思いつきませんでした。100%の回答をいただきありがとうございました。うまく表示できました。回答の最後にありますように、「BMI表示用」というフィールドを作り、そっちをいじります。フィールドが一つ増えるけど処理がすっきりしますね。

お礼日時:2006/05/24 11:09

>どのような計算式を書けば可能なのでしょうか?



FM6にはTextColor関数が無いので8の試用版(Mac)をダウンロードしてみました。
6とはかなり違うので戸惑っています。
No.2の方の式のようなものになると思いますが、TextColorは引数も戻り値もテキス
トとなっているのですね。でも数字でも計算するようですね。

この回答への補足

回答ありがとうございます。ご指摘のように、引数や戻り値が「テキスト」にも関わらず、フィールドタイプが「数字」でも、文字の色が計算どおりに変わってくれます。
 私も最初はそれが原因だと思いましたが、実際には出来てしまいます。

補足日時:2006/05/24 11:10
    • good
    • 0

FM8は注文中なので良く解っていませんが


スクリプトにしないで計算式にするというのはダメなのですか?

この回答への補足

 回答ありがとうございます。BMIの計算をして、その計算結果の条件によって文字の色を変えるという計算式が思いつかなかったので、スクリプトを使おうと考えました。どのような計算式を書けば可能なのでしょうか?もし良ければ教えてください。

補足日時:2006/05/23 21:09
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す