みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもありがとうございます。
計算フィールドの結果を集計フィールドで合計しています。
その集計フィールドの内容を画面に表示していますが、一瞬正しい結果が表示されるんですが
消えてしまいます。
表示しているのは、タブパネル上ですが、該当タブをクリックした瞬間表示されて消えてしまいます。
原因がわからずに困っておりますが
どんな原因が考えられるんでしょうか?
よろしくお願いします。
Offline
バージョンや環境を書かれたほうが適切なアドバイスを受けられます。
消えるというのはフィールドそのものが消えてしまうのか、
表示された集計値のみが消えてしまうのかどちらでしょう?
タブをクリックした際に消えるのであれば、
タブコントロールにスクリプトトリガが設定されていて対象レコードが0件になってしまうなど......
この場合は集計対象がなくなってしまうので集計が行われず結果が表示されません。
Offline
ご指摘ありがとうございます。
バージョンは17です。
MAC環境です。
*消えるのは、フィールドそのものではなく値のみです。
*又、消えるというのは、最初にトリガでウインドウ内容の再表示を行った瞬間だけで
これをいれないと全く表示されません、
*別の方法で通常は表示フィールドですが、試しに入力フィールドに変更して
フィールド内をクリックすれば表示されます。
集計フィールドのリレーションが、|x|マークの現在入力している
売上伝票以外の履歴の合計を表示しているのですが
これが問題なのかわかりません。
Offline
> 現在入力している売上伝票以外の履歴の合計
ですが、実は新規レコードが作成されて編集中には集計計算ができないので、空白になります。
入力中も表示が欲しければ、Sum ( リレーション::数値 ) という計算フィールドを作られるといいでしょう。
Offline
shin様たびたびありがとうございます。
>Sum ( リレーション::数値 ) という計算フィールド
この意味が、テーブルに作成した計算フィールドにSum関数を設定と理解したのですが
表示される値がどうしても合わなくて???わかりません。。
しかたなく、数値項目をテーブルに追加して、タブクリックイベントのOnObjectModifyで
追加項目に計算式で設定しましたら大丈夫でした。
本当に助かりました。
もうひとつ、集計フィールドを小計ソートパートにマージフィールドで設定した値が
即座に更新されなくて困っていますが、又別のトピックにします。
ありがとうございました。
Offline
ウィンドウの再表示を行えばいいです。
Offline
Shin様、いつもありがとうございます。
>集計フィールドを小計ソートパートにマージフィールドで設定した値が
即座に更新されなくて
>ウィンドウの再表示を行えばいいです。
なるほど!できました。
初回に表示して値が変更にならないものは、ウインドウ内容の再表示で
小計パートの集計フィールドに正しい値が表示されるようになりました。
同じように小計ソートパートにマージフィールドで設定している集計フィールドですが
ポップオーバーの画面で入力した値が明細レコードには表示されますが。集計フィールドに合計されません。
画面をクリックすると表示されます。
画面クリックで何が行われているのか??
ウインドウ内容の再表示では駄目でした。なぜだかよくわかりません。
検索モードに切り替え
ブラウザモード切り替え
で表示されるようになりました。
FileMakerは集計フィールドが便利ですが。初心者には曲者。。。。
簡単が売り物だけど奥が深い
本当に助かりました。
おかげで、後少しで納品にこぎつけそうです。
感謝、感謝です。
Offline
ウインドウ内容の再表示 で、キャッシュを保存して見てください。
Offline
度々。ありがとうございます。
>ウインドウ内容の再表示 で、キャッシュを保存して見てください。
ポップオーバーの画面で値を入力し、
ポップオーバーを閉じる前にウインドウ内容の再表示でキャッシュ結合結果を書き込むで保存し(*1)
ポップオーバーを閉じてから
ウインドウ内容の再表示(*2)
をやってみました。*1の時点で
小計パートの集計フィールドの値は更新ではなく空白になります。???
この時、値を更新していない、小計パートの別の集計フィールドも空白になります。
うーーん???結果を保存の場所が悪い??
それで*2を追加してみましたが、変わらずです。
やはり、画面をクリックするとちゃんと更新内容で表示されます。
もうちょっとやってみます。
Offline
Shin様ありがとうございます。
どうも、レイアウト設定のOnRecordCmmitトリガを通ると更新されます。
トリガでは
合計請求書の関係で請求データと売上伝票が1:Nなので関連レコードへ移動して
入金された売上伝票に対して入金済みフラグを更新しています。
>検索モードに切り替え
>ブラウザモード切り替え
この箇所をレコード/検索条件確定にしましたら
結果が更新されました。
おかげでシンプルになりました。
Q&Aのみで状況を想像され何度もご回答を頂き
ありがとうございました。
助かりました。
Offline
ポップオーバーで入力させて、売上伝票の入金フラグがスクリプトで更新される、ですか。
回りくどいデータの動きのようですね。
納品後もメンテナンスに手間がいりそうなきがします。
Last edited by Shin (2019-03-31 16:15:13)
Offline
Shin様 ご指摘ありがとうございます。
>ポップオーバーで入力させて、売上伝票の入金フラグがスクリプトで更新される、ですか。
>回りくどいデータの動きのようですね。
やっぱりそうですか。。。
売上伝票入力で請求データとのリレーションを定義していないのでフラグを使ってしまったのですが
リーレーションを追加したほうがよさそうですね。
>納品後もメンテナンスに手間がいりそうなきがします。
はい、そう思います。
例えば同じような得意先の選択画面でもTOが違うと別々に作ってしまったり
フィールド名が違うだけで同じようなスクリプトがいくつもできてしまったり
もう一度作りなおしたい気がしておりますが・・
せめて、
あまり手をかけずにスクリプトの処理とトリガがわかる仕様を残そうとおもったのですが多すぎて諦めました
同じような処理を統一するテクニックといいますか
やり方が習得できておりません。。。
フィールド名で渡したり、TOが違うだけで同じレイアウトをどう作るか
このあたり。。。
本当に数ヶ月したらメンテナンスできないですね
うーーん、スクリプトも関数もほんの一部しかわかっていないので
共通ルーチンのような作り方が。。今後の課題ですね
手っ取り早く頭に入る方法があるといいですが。。。
いろいろとご指摘ありがとうございます。
Offline
Pages: 1
[ Generated in 0.011 seconds, 7 queries executed - Memory usage: 544.38 KiB (Peak: 564.92 KiB) ]