みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
いつも大変お世話になっております。
バージョン19.5.3.300になります。
案件に対してフィールドの数が8つほどあります。
「スタート時間」
「終了時間」
「場所」
「名前」
「金額」・・・などなどです。
上記のフィールドが変更された場合に、色が変わる仕様にしたいと考えております。(現在の希望は黄色塗りつぶし)
これらをチェックする部署が3つあります。
シフト、事務、管理者
になります。
例えばスタート時間の場合は、シフトが確認OK(これは値一覧で1としています。未確認は0)で塗りつぶしが解除
場所の場合は、シフト、事務、管理者全てが確認OK(1)になったら塗りつぶしが解除。
金額の場合は、シフト、事務がOK(1)になったら解除
といった具合です。
上記のフィールドに対してのチェックフィールドをそれぞれ別につくり、それに文字が入ったら塗りつぶし、空欄になったら塗りつぶし解除などをやってみたのですが、どうもうまくいかず、いろんなパターンを試している中で、塗りつぶしが消えなかったり、確認OKを再度、未確認などにした場合に別の箇所が塗りつぶされたりしてしまいました。
上記、スムーズに設定する方法はございますでしょうか?
何卒よろしくお願いいたします。
> フィールドが変更された場合に、色が変わる
例えば、
スタート時間フィールドが変更されたら色を変える
ということ?
この条件なら、「変更」を定義しないとだめでしょう。
ではなく、
常時塗りつぶしで、
> シフトが確認OK(これは値一覧で1としています。未確認は0)で塗りつぶしが解除
ということ?
Offline
例えば、チェック用のフィールドを作り、スタート時間の場合は 1、場所の場合は7、金額の場合は3 を設定しておきます。
シフトがチェックすれば1引き、事務がチェクすれば2、管理者がチェックすれば4引きます。
チェックが0以下になれば塗り潰しを解除すればいいでしょう。
Offline
チポさんと同じ「?」と思いますが、「変更されたら色を変える」部分が良く分かりません。
A 元データの作成・入力者
B 元データの変更者
C データのチェック者(シフト、事務、管理者)
AとBは同一?別?
A→B→C? A→C→B→C?
AとBが同一でA→Cなら、Cのチェック段階で「変更」なのかは不明では?
A→C→A→C?
C(シフト、事務、管理者)がOKしたあとにも変更する可能性があるんですか?
まぁ、
①8つほどある案件に対してのフィールドが入力(変更)されたときに色をつける
これは過去スレ↓
https://fm-aid.com/bbs2/viewtopic.php?id=1983
を参考にされてみてはどうでしょう。
②①で変更された8つほどある案件に対してチェック者がデータを確認したときに色を外す
こちらもよくわからなかったんですが、例えばシフトのチェック者は
「スタート時間」
「場所」
「金額」
それぞれにチェックOKの「1」を入力するんですか?
それとも3つの内容を確認した上で、1つチェックOKの「1」を入力するんですか?
個人的には値一覧で1・0の選択よりも、ボタンにフィールド設定してあげたほうがいいと思いますが。
ボタンによって入力されるフィールドをボタンの条件付き書式で使ってあげれば、押した押してないで色分けができますよね。
そうすればチェックフィールドをレイアウトに表示しなくてもよくなるのでスッキリするかも?
Shinさんが提案されているように、数字で判別してもいいですし、
テキストにして、シフト&事務&管理者のフィールドを作って、
条件付き書式でフィールドが(シフト事務)なら、(シフト管理者)ならと切り分けてあげるのも手ですね。
Offline
チポさん
わかりづらくて申し訳ございません。
最初に
スタート時間が「0800」を設定します。
他のフィールドも諸々入力して、全て終わったら
「発行」をします。
発行をした後に、例えばスタート時間が「0900」に変更になったらスタート時間のフィールドが塗りつぶされます。
変更箇所がここだけならば、この段階で更新のボタンを押します。押すのは営業担当になります。
更新が押された段階で、
シフト、事務、管理者それぞれの確認フィールドが未確認(0)になります。
スタート時間に関わる部署はシフトだけなので、シフトが確認OK(1)になったら、黄色塗りつぶしが消える。
これが場所を変更した場合は,
全ての部署に関わるので、全てが確認OKにならないと塗りつぶしが消えない。
といった具合です。
このような説明でよろしいでしょうか。
不足あればご指摘ください。
何卒よろしくお願いいたします。
スタート時間の値を移すフィールドを作ります。
「発行」後、スタート時間を選択したらその値を上記のフィールドに移します。
スクリプトトリガを使ってできますね。
塗りつぶしの条件
「発行」である
and
スタート時間と上記のフィールドの値が異なる
and
シフト確認が0
他のフィールドも同様に考えます。
「変更」
の判定は結構難しく、
0800から0900に変更
レコード確定
やっぱり0800に戻す
これでも上記の方法では変更になってしまいます。
Offline
レコード確定時に変更したかどうかの判定には、Get (変更されたフィールド)が使えますけど、結局「この段階で更新のボタンを押します」のような操作は必要になるでしょうね。
実際の値の変更とは関係なくボタンで指示するので#6の心配はないかな。
みなさま
ありがとうございます。
チポさんに教えていただいた方法で完成したような気がします・・・
しばらく様子を見てみようと思います。
またご報告します。
本当にありがとうございました。
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 522.56 KiB (Peak: 527.47 KiB) ]