• ベストアンサー

[ファイルメーカーPro7]入力日付経過後に文字の色を変える。

あらかじめ入力された日付(例えば更新日)が現在の日付を過ぎた場合に文字の色を変えるにはどうしたらよいでしょうか? またチェックボックスにチェックを入れた場合の変更方法もわかりません。 ご面倒をおかけしますがご指導よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • a2c_2005
  • ベストアンサー率49% (29/59)
回答No.3

根本的にちがいますね(^^; わたしも言葉足らずですみません。 一個一個いきましょう! ■まず文字をいれるフィールドです。 これは普通に文字を入力します。ここに入れた文字が最終的に日過ぎれば色が変わって表示されます。 フィールド名(自由に変えてOK):文字 フィールドタイプ:テキスト ■設定する日付を入れるフィールドです。 今日の日付がここに入力した日付を超えると文字の色がかわります。 フィールド名(自由に変えてOK):入力日 フィールドタイプ:日付 ■実際に色が変わって表示されるフィールドです。 いま、入力オプションで計算とやっておられるようですが、その機能は目的が違います(^^; フィールドのタイプ(フィールド名を入れる欄の右側に選ぶところがあります)で『計算』を選びます フィールド名(自由に変えてOK):表示 フィールドタイプ:計算 フィールドタイプを計算にして作成(保存)を押すと、計算式を入れる画面が出ます。そこに Case( Get(日付) > 入力日 ; TextColor ( 文字 ; RGB ( 255 ; 0 ; 0 ) ) ; 文字 ) こう入れてください。 ちなみに Get(日付) は今日の日付を取得する関数ですから 日付 というフィールドは存在しなくてもOKです これで作ってみて下さいね。

poncho99
質問者

お礼

ご返答が遅れて申し訳ありません。ネットに繋げられる環境にいなかったもので。。。 とても参考になりました。本当にありがとうございます。

poncho99
質問者

補足

ありがとうございます! とても分かりやすく勉強になりました。 このフィールド名:文字を赤くするのは不可能なんですね。根本的に考え方が間違ってました^^ もし全フィールドの色を変えたい場合はかなり大変そうですね。。。

その他の回答 (3)

  • a2c_2005
  • ベストアンサー率49% (29/59)
回答No.4

そうですね・・・ 方法としては計算フィールドに計算結果として文字を赤く出すか、スクリプトを使って文字を赤く置き換えるかしかないんですが、スクリプトだとスクリプトを実行した瞬間にしか今日が設定日を越えてるかどうか判断しないんでリアルタイム性が薄いですね。 どういった理由で文字の色を変えたいのかわかりませんが、視覚的に超えてるかどうかを一覧から判断されたいならば、バックにオブジェクトフィールドをひとつ配置して、期日を越えたらそれに色をつけるとかでもいいかもしれませんね。

  • a2c_2005
  • ベストアンサー率49% (29/59)
回答No.2

あ、えっとIsEmpty(■■■) = 0 の■■■はチェックボックスのフィールド名です

poncho99
質問者

補足

ご回答ありがとうございます。 申し訳ないです、うまく色が変わりません。 ファイル→定義→データベース→変更したフィールドのオプション→入力値の制限→計算式で制限 にて変更すればよいのでしょうか? また”日付”の項目はそのまま”日付”で本日の日付が入力されるのでしょうか? 初歩的な質問で申し訳ありません。。。

  • a2c_2005
  • ベストアンサー率49% (29/59)
回答No.1

表示させるフィールドを計算フィールドにすれば可能です。 表示させたい文字の入ったフィールド名を 文字 とします。入力する日付のフィールドは 入力日 として日付タイプにします。 表示 という計算フィールドを作って Case( Get(日付) > 入力日 ; TextColor ( 文字 ; RGB ( 255 ; 0 ; 0 ) ) ; 文字 ) とします。これで入力日を越えたら文字が赤くなります。 チェックボックスでやるなら、Get(日付) > 入力日 という条件を IsEmpty( ■■■ ) = 0 としてやれば、チェックするフィールドにチェックが入ると文字色が変わりますよ 参考にしてください

関連するQ&A