初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-07-20 23:41:00

質問者
Member

別テーブルに連動して集計する方法

AAA  100   
BBB  100
AAA  100
CCC  100

と入力するテーブルAがあるとします
このとき、別テーブルBに
AAA  200
BBB  100
CCC  100
というレコードを作成、
最初のテーブルAのレコードを変更、追加したら連動して
テーブルBのレコードも変更するようなことはできますか?

Offline

#2 2017-07-21 01:12:40

Hiro
Member

Re: 別テーブルに連動して集計する方法

設定説明代わりに簡単なサンプルをアップしました。
集計処理は、リレーション集計法で行っています。
データ変更・追加時の集計値の自動更新表示は、
テーブルAレイアウトにOnRecordCommitトリガスクリプト
を設置しています。

●サンプル「別テーブル集計.fmp12」→ https://yahoo.jp/box/uUPDeP

Offline

#3 2017-07-21 02:05:56

Hiro
Member

Re: 別テーブルに連動して集計する方法

追手にテーブルB側のデータ入力が一切不要の拡張版サンプルも追加アップしておきます。
テーブルBはバーチャルリストに変更し、集計結果の全自動更新・表示を実現しています。
事前に用意しておくのは、十分に余裕を持った数の空レコードを作っておくことだけです。

●拡張版サンプル「別テーブル集計(バーチャルリスト).fmp12」→ https://yahoo.jp/box/IMvxWV

Offline

#4 2017-07-21 09:20:47

チポ
Member

Re: 別テーブルに連動して集計する方法

別テーブルにしなくても、
ボディパートをなくした、小計パートの集計レイアウトでできますよ。

Offline

#5 2017-07-21 17:41:07

質問者
Member

Re: 別テーブルに連動して集計する方法

Hiroさん、別テーブル集計(バーチャルリスト).fmp12を見ましたが
どのような仕組みで動いているのですか?
スクリプトもひとつしかないようですし、理解できませんでしたので
解説いただけると助かります
別テーブル集計.fmp12との違いもわかりません
ですが、やりたいことはまさにこれです!

チポさん、一応レコードとしてほしいので集計だとそうはなりませんよね?
集計パートのみを表示するということですか?

Offline

#6 2017-07-21 17:45:56

チポ
Member

Re: 別テーブルに連動して集計する方法

ボディのない、小計パートのレイアウトです。
見た目はボディパートのレコードと同じですよ。

編集をしないのならこれでもいいのかと、、

Offline

#7 2017-07-21 20:23:50

Hiro
Member

Re: 別テーブルに連動して集計する方法

サンプル両者の違いは、テーブルBのレコード設定を、
手動入力操作で行うか自動計算で行えるかの違いです。
自動計算のバーチャルリストの生成は、フィールド内容の
「値一覧」と「計算フィールド」の計算式とから算出しています。
バーチャルリスト生成の為のスクリプト使用はありません。

質問箇所を絞り込んで貰えれば、もう少し具体的な回答ができるかも。
もともと、設定説明代わりにサンプル作り提示してる訳ですから、

Offline

#8 2017-07-22 01:07:13

質問者
Member

Re: 別テーブルに連動して集計する方法

ほとんど理解できておりません

・テーブルAに何かを入力するとどのような仕組みでBに追加されるのでしょうか?
Aに入力した集計名称がなぜBに転記されるのかが理解できません
・値一覧は自己リレーションしたものを指定してありますが、どのような意味があるのですか?
・別テーブル集計(バーチャルリスト).fmp12ではスクリプトは不要ということでしょうか?

Offline

#9 2017-07-22 01:50:37

トトト
Member

Re: 別テーブルに連動して集計する方法

便乗質問です
このようなバーチャルリストは、レコード数が増えると重くなりますか?
気にするほどでもないでしょうか?

Offline

#10 2017-07-22 02:49:56

Hiro
Member

Re: 別テーブルに連動して集計する方法

> テーブルAに何かを入力するとどのような仕組みでBに追加されるのでしょうか?
> Aに入力した集計名称がなぜBに転記されるのかが理解できません

・「集計名称」計算フィールドの式の内容を解析すると分かります。使用関数で分からないものは ヘルプ をご覧ください。

> 値一覧は自己リレーションしたものを指定してありますが、どのような意味があるのですか?
・自己リレーションしたものではありません。ただ、テーブルAの「名称」フィールドで単純に値一覧を組んでいるだけです。

> 別テーブル集計(バーチャルリスト).fmp12ではスクリプトは不要ということでしょうか?
・バーチャルリストの生成のためには使っていないと言ったのであって、従来からのOnRecordトリガースクリプトは使用していますよ!

Offline

#11 2017-07-22 03:25:46

Hiro
Member

Re: 別テーブルに連動して集計する方法

> このようなバーチャルリストは、レコード数が増えると重くなりますか?
> 気にするほどでもないでしょうか?

二段組みの非保存計算結果で動的なリストを生成表示するため、多少重い処理となるのは確かです。
しかし、完全自動の動的集計ができる利便性は大きなポイントですよネ。
サンプルファイルで軽く動作テストしてみて、ご自身で評価・判断するのが早いかも、

Offline

#12 2017-07-24 17:40:34

質問者
Member

Re: 別テーブルに連動して集計する方法

バーチャルリストという手法でやるのですね

ちなみに、バーチャルリストで表示されているレコードに対してなんらかの修正を行った場合に、
元レコードも連動して変更することはできませんか?

AAA  100   
BBB  100
AAA  100
CCC  100

AAA  200
BBB  100
CCC  100

となったときに、
                 フラグ
AAA  200   1
としたら、
元データのAAAすべてにフラグをたてるということです

Offline

#13 2017-07-25 12:21:55

Hiro
Member

Re: 別テーブルに連動して集計する方法

#12 > 元データのAAAすべてにフラグをたてる
「関連レコードへ移動」して、そのフラグ入力値で「フィールド内容の全置換」し、元のレイアウトへ戻る。
以上のスクリプトをOnModifyトリガーで起動させます。

●v2版サンプル「別テーブル集計(バーチャルリスト)v2.fmp12」→ https://yahoo.jp/box/bpamRc

Offline

Registered users online in this topic: 0, guests: 2
[Bot] ClaudeBot (2)

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 529.23 KiB (Peak: 550.13 KiB) ]