みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
いつもお世話になっております。
分からないため質問させて頂きます。
よろしくお願い致します。
ある集計フィールドがありその集計フィールドは他のフィールドの値を足し引きして合計数値を表示させています。その集計フィールドが0になった時だけ、他のテーブルのチェックボックスにチェックを入れたいのですがどのようにするばいいのか分かりません。
またその集計フィールドがマイナス数値になる時はフィールドの確定はせず、アラートが出て足し引きの数値を入力しているフィールド(入出庫をポータルで一回の入出庫で一行で表示させており今日は入庫何々数、出庫何々数とゆうようにやっています。)の入力が取り消されるように出来ますでしょうか?
皆さまよろしくお願い致します。
Last edited by mucha (2019-12-07 19:48:37)
Offline
結論から言って、不可能です。
データベースであるFMでは、希望されるその様なことは意図的に出来ない仕様にしています。
つまり、索引なしの計算結果で自動発火する常駐型のイベントトリガーが無いと言う事です。
Offline
要するに、在庫がゼロになればチェック、ということでしょうか。
集計の内容にもよるでしょうが、他のテーブルとリレーションが張ってあれば、その集計フィールドを他のテーブルで表示させ、論理表示させればいいだけかもしれません。
Offline
その集計を集計フィールドとして、、
> その集計フィールドが0になった時だけ、他のテーブルのチェックボックスにチェックを入れたい
そのフィールドを配置して、論理値表示の設定でチェック表示できますね。
> その集計フィールドがマイナス数値になる時はフィールドの確定はせず・・・
スクリプトで、
その集計フィールドがマイナスなら、
アラートを出し、
数値フィールドから出られない様にします。
このスクリプトを、数値フィールドのトリガ
OnObjectExit
で実行させます。
Offline
> その集計フィールドがマイナス数値になる時はフィールドの確定はせず...
そのフィールド定義の入力の制限で、計算式に、集計フィールド ≥ 0 を設定し、ユーザーによる上書きを許可しない、にしておいてもいいかも。(ダイアログメッセージが固定ですし、2回出てくるので面倒ですが)
Offline
> その集計フィールドがマイナス数値になる時はフィールドの確定はせず・・・
は、論理矛盾していてます。その意味で、両立は不可能ですネ。
Offline
一度は確定する必要は有りますが、
そのフィールドに戻って削除等で問題ないでしょう。
Offline
そのレコードをアクティブにした時点で、集計フィールドの値を取得しておけば、矛盾しないで処理は可能でしょう。
確定後修正させても、動きは同じだと思いますが。
Offline
>#6で不可能と言ったのは、少々言い過ぎだったかもしれませんが、
どうしても実装したいというのであれば多少トリッキーで面倒ですが、
論理矛盾しない複数のイベントトリガーを使う腹案が......
1.現状(確定済)の集計結果値がマイナスになる差分数値を算出する。
2.フィールドの既存値と新入力値とを記録して、その差分を算出する。
3.条件式:差分1 > 差分2 で「確定更新か・否か」の処理判別をする。
4.以上の手順スクリプトをOnEnterとOnExitトリガーを適時使い実装します。
Offline
皆様のアドバイスのおかげで出来ました。
いつも丁寧に教えて頂きありがとうございます。
Offline
[ Generated in 0.016 seconds, 7 queries executed - Memory usage: 520.94 KiB (Peak: 525.48 KiB) ]