みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
Win10 FMP18
再びお世話になります。
現在、「複数のフィールドに対して条件付きの設定を変更するには?」と
いう内容で質問しておりますが、そこでの質問内容で分らない部分が出て
きたので別途質問させて下さい。
Aというユーザが新規レコードを作りました。10個のフィールドに対して
全て入力作業を終えました。
後にBというユーザがAのレコードに対して訂正をしたい場合、Bが訂正し
たというのを視覚的に分かる様にBが訂正したフィールド内の文字だけ文
字色を赤にしたい場合はどのようにすれば良いでしょうか?
書式設定バーで操作してもらえれば問題ないのですが、それですと面倒と
いうよりも手間になるので自動的に出来る事が望ましいです。
元々、条件付きの設定で行うと思いましたが、これですとAが閲覧してい
る時は文字色が黒に戻ってしまうのでダメでした。ちなみに、その式は以
下の通りです。
Get ( アカウント名 ) ≠ 作成者
現在のアカウント名と作成者が違う場合に文字色を赤にするとしたんです
が、これでは意味がないですよね?!
では、宜しくお願いします。
Offline
フィールドごとに修正歴をもたせるのがいいでしょう。厳密に行うには、トランザクションレポートを作成していき、最終修正者を参照することになります。または、フィールドごとにテーブルを作って、履歴を残していくという方法も考えられますが(実用的ではないでしょうが)
または、フィールドごとに、Evaluate() を使って修正アカウントとタイムスタンプを取得していく方法もあるでしょう。
(対象フィールドをコーディングすることになるので、Mozさんに叱られるかもしれませんが (••!! )
ただ、A が作成し、B が修正し、A が元に戻した時にどうするか、など、運用上は難しいですよ。
Last edited by Shin (2021-08-18 13:52:35)
Offline
Shinさん
お世話になります。
または、フィールドごとに、Evaluate() を使って修正アカウントとタイムスタンプを取得していく方法もあるでしょう。
Evaluate の使い方が良く分らないのですが、以下のような式という事でしょうか?
Evaluate ( “Get ( 修正タイムスタンプ ) + Get ( 修正アカウント )” ; [ フィールド名] )
で、仮にこれが正しいとなった場合、この後の展開はどうずれば良いでしょうか?
ただ、A が作成し、B が修正し、A が元に戻した時にどうするか、など、運用上は難しいですよ。
これに関しては元に戻さないというルールを設けるので大丈夫です。
Offline
Shinさん
条件付き書式で以下の式を条件とすれば出来ました!!
作成者 ≠ Evaluate ( " 修正者 " ; [フィールド] )
Evaluateという存在を知らなかったので全く思いつかなかったのですが、とりあえずこちらの質問に対して答えは出ました。
でも、Shinさんが懸念されいた別の質問での問題は解決してないので、一度そちらにもこの旨書いてみます。
本当にありがとうございます。
Offline
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 573.84 KiB (Peak: 604.19 KiB) ]