みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
WIN10
FM14 を使用しています。
使用するテーブルは1つ
・明細テーブル
使用するフィールドはふたつ
・日付フィールド(日付)
・テキストフィールド(テキスト)
現在、テキストは黒文字を入力しています。
したいこと、
日付フールドの日付が本日に比べて
先月以前だった場合→テキストフィールドを赤文字表記したい
今月の場合→そのまま黒文字表記したい
来月以降→青文字表記にしたい
です。
つまり、時間が経過して実際の月が変わったら、ミス防止のために先月のテキストを赤くしたいのです。
条件付き書式で設定するかと思いますが、
本日に比べて、 先月以前 来月以降 をどのように入力するのかがわかりません。
ご教授よろしくお願いします。
Offline
①明細テーブル::当日(数字 グローバルフィールド)を作り
ファイルオープン時に自動スクリプトを割り当てます。内容は
フィールド設定 明細テーブル::当日 計算式は Year ( Get(日付) ) * 12 + Month ( Get(日付)) これで当日の月番号を設定します。
②明細テーブル::月番号作成(計算フィールド 数字)を作り計算は
Year ( 日付フィールド ) * 12 + Month ( 日付フィールド )
③明細テーブル::判定(計算フィールド 数字)を作り計算は
Case (
月番号作成 > 当日 ; 3 ;
月番号作成 = 当日 ; 2 ;
1
)
1=前月以前 2=当月 3=来月以降
④あとはテキストフィールドの条件付き書式で 計算式を 明細個別::判定 = 1 とかにすればOKです。
計算式をまとめて作成フィールドを少なくすることもできます。
もっとスマートなやりかたもあるかもですが参考までに。
条件付き書式で、赤の文字では、
Year ( self ) * 12 + Month ( self ) < Year ( Get ( 日付 ) * 12 + Month ( Get ( 日付 ) )
青の文字では、
Year ( self ) * 12 + Month ( self ) < Year ( Get ( 日付 ) * 12 + Month ( Get ( 日付 ) )
を条件にすればいいでしょう。
Offline
日付が変わった時点で「自動」で表示が変わることはありませんよ。
何らかの方法で再表示すればいいですね。
Offline
皆様ありがとうございます。
今回はかなり勉強になりました。
REVさんのやり方でも実装できましたが
結局私にはSHIN様のやり方でさせていただきました。
ありがとうございました。
Offline
Pages: 1
[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 508.87 KiB (Peak: 515.66 KiB) ]