初心者のFileMaker pro Q&A

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

1.ファイルメーカーで解らない事があればここで質問して下さい。

何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

ログインしていません。

アナウンス


#1 2020-10-11 11:16:03

6120
メンバー

[解決] 時間が経過すると文字色が自動で変わるようにしたい

WIN10
FM14 を使用しています。

使用するテーブルは1つ
・明細テーブル 
使用するフィールドはふたつ
・日付フィールド(日付)
・テキストフィールド(テキスト)

現在、テキストは黒文字を入力しています。

したいこと、
日付フールドの日付が本日に比べて

先月以前だった場合→テキストフィールドを赤文字表記したい
今月の場合→そのまま黒文字表記したい
来月以降→青文字表記にしたい

です。
つまり、時間が経過して実際の月が変わったら、ミス防止のために先月のテキストを赤くしたいのです。

条件付き書式で設定するかと思いますが、
本日に比べて、 先月以前  来月以降 をどのように入力するのかがわかりません。

ご教授よろしくお願いします。

オフライン

#2 2020-10-12 00:31:27

Rev
ゲストユーザー

Re: [解決] 時間が経過すると文字色が自動で変わるようにしたい

①明細テーブル::当日(数字 グローバルフィールド)を作り
ファイルオープン時に自動スクリプトを割り当てます。内容は
フィールド設定 明細テーブル::当日 計算式は Year ( Get(日付) ) * 12 + Month ( Get(日付))   これで当日の月番号を設定します。

②明細テーブル::月番号作成(計算フィールド 数字)を作り計算は
Year ( 日付フィールド ) * 12 + Month ( 日付フィールド )

③明細テーブル::判定(計算フィールド 数字)を作り計算は
Case (
月番号作成 > 当日 ; 3 ;
月番号作成 = 当日 ; 2 ;
1
)
1=前月以前 2=当月 3=来月以降

④あとはテキストフィールドの条件付き書式で 計算式を 明細個別::判定 = 1 とかにすればOKです。

計算式をまとめて作成フィールドを少なくすることもできます。
もっとスマートなやりかたもあるかもですが参考までに。

#3 2020-10-12 08:47:30

Shin
メンバー

Re: [解決] 時間が経過すると文字色が自動で変わるようにしたい

条件付き書式で、赤の文字では、
Year ( self ) * 12 +  Month ( self ) < Year ( Get ( 日付 ) * 12 + Month ( Get ( 日付 ) ) 
青の文字では、
Year ( self ) * 12 +  Month ( self ) < Year ( Get ( 日付 ) * 12 + Month ( Get ( 日付 ) ) 
を条件にすればいいでしょう。

オフライン

#4 2020-10-12 09:34:44

チポ
メンバー

Re: [解決] 時間が経過すると文字色が自動で変わるようにしたい

日付が変わった時点で「自動」で表示が変わることはありませんよ。
何らかの方法で再表示すればいいですね。

オフライン

#5 2020-11-09 20:30:23

6120
メンバー

Re: [解決] 時間が経過すると文字色が自動で変わるようにしたい

皆様ありがとうございます。
今回はかなり勉強になりました。
REVさんのやり方でも実装できましたが
結局私にはSHIN様のやり方でさせていただきました。
ありがとうございました。

オフライン

クィック投稿

メッセージを書いて送信してください。
登録の確認

実在の人物による登録であることを確認します。

Board footer