みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
AAA 100
BBB 100
AAA 100
CCC 100
と入力するテーブルAがあるとします
このとき、別テーブルBに
AAA 200
BBB 100
CCC 100
というレコードを作成、
最初のテーブルAのレコードを変更、追加したら連動して
テーブルBのレコードも変更するようなことはできますか?
Offline
設定説明代わりに簡単なサンプルをアップしました。
集計処理は、リレーション集計法で行っています。
データ変更・追加時の集計値の自動更新表示は、
テーブルAレイアウトにOnRecordCommitトリガスクリプト
を設置しています。
●サンプル「別テーブル集計.fmp12」→ https://yahoo.jp/box/uUPDeP
Offline
追手にテーブルB側のデータ入力が一切不要の拡張版サンプルも追加アップしておきます。
テーブルBはバーチャルリストに変更し、集計結果の全自動更新・表示を実現しています。
事前に用意しておくのは、十分に余裕を持った数の空レコードを作っておくことだけです。
●拡張版サンプル「別テーブル集計(バーチャルリスト).fmp12」→ https://yahoo.jp/box/IMvxWV
Offline
別テーブルにしなくても、
ボディパートをなくした、小計パートの集計レイアウトでできますよ。
Offline
Hiroさん、別テーブル集計(バーチャルリスト).fmp12を見ましたが
どのような仕組みで動いているのですか?
スクリプトもひとつしかないようですし、理解できませんでしたので
解説いただけると助かります
別テーブル集計.fmp12との違いもわかりません
ですが、やりたいことはまさにこれです!
チポさん、一応レコードとしてほしいので集計だとそうはなりませんよね?
集計パートのみを表示するということですか?
Offline
ボディのない、小計パートのレイアウトです。
見た目はボディパートのレコードと同じですよ。
編集をしないのならこれでもいいのかと、、
Offline
サンプル両者の違いは、テーブルBのレコード設定を、
手動入力操作で行うか自動計算で行えるかの違いです。
自動計算のバーチャルリストの生成は、フィールド内容の
「値一覧」と「計算フィールド」の計算式とから算出しています。
バーチャルリスト生成の為のスクリプト使用はありません。
質問箇所を絞り込んで貰えれば、もう少し具体的な回答ができるかも。
もともと、設定説明代わりにサンプル作り提示してる訳ですから、
Offline
ほとんど理解できておりません
・テーブルAに何かを入力するとどのような仕組みでBに追加されるのでしょうか?
Aに入力した集計名称がなぜBに転記されるのかが理解できません
・値一覧は自己リレーションしたものを指定してありますが、どのような意味があるのですか?
・別テーブル集計(バーチャルリスト).fmp12ではスクリプトは不要ということでしょうか?
Offline
便乗質問です
このようなバーチャルリストは、レコード数が増えると重くなりますか?
気にするほどでもないでしょうか?
Offline
> テーブルAに何かを入力するとどのような仕組みでBに追加されるのでしょうか?
> Aに入力した集計名称がなぜBに転記されるのかが理解できません
・「集計名称」計算フィールドの式の内容を解析すると分かります。使用関数で分からないものは ヘルプ をご覧ください。
> 値一覧は自己リレーションしたものを指定してありますが、どのような意味があるのですか?
・自己リレーションしたものではありません。ただ、テーブルAの「名称」フィールドで単純に値一覧を組んでいるだけです。
> 別テーブル集計(バーチャルリスト).fmp12ではスクリプトは不要ということでしょうか?
・バーチャルリストの生成のためには使っていないと言ったのであって、従来からのOnRecordトリガースクリプトは使用していますよ!
Offline
> このようなバーチャルリストは、レコード数が増えると重くなりますか?
> 気にするほどでもないでしょうか?
二段組みの非保存計算結果で動的なリストを生成表示するため、多少重い処理となるのは確かです。
しかし、完全自動の動的集計ができる利便性は大きなポイントですよネ。
サンプルファイルで軽く動作テストしてみて、ご自身で評価・判断するのが早いかも、
Offline
バーチャルリストという手法でやるのですね
ちなみに、バーチャルリストで表示されているレコードに対してなんらかの修正を行った場合に、
元レコードも連動して変更することはできませんか?
AAA 100
BBB 100
AAA 100
CCC 100
↓
AAA 200
BBB 100
CCC 100
となったときに、
フラグ
AAA 200 1
としたら、
元データのAAAすべてにフラグをたてるということです
Offline
#12 > 元データのAAAすべてにフラグをたてる
「関連レコードへ移動」して、そのフラグ入力値で「フィールド内容の全置換」し、元のレイアウトへ戻る。
以上のスクリプトをOnModifyトリガーで起動させます。
●v2版サンプル「別テーブル集計(バーチャルリスト)v2.fmp12」→ https://yahoo.jp/box/bpamRc
Offline
Pages: 1
[ Generated in 0.017 seconds, 9 queries executed - Memory usage: 529.23 KiB (Peak: 550.14 KiB) ]