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

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

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

You are not logged in.

Announcement

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


#1 2022-12-04 18:19:10

くうはく
Guest

テーブル間で計算をするときはポータルですか?

AとBのテーブル間で計算をするとき、ポータルで双方から必要なテーブルを取り出し計算して
その計算結果は、AとB管理しやすいほうに計算フィールドを置くのが普通でしょうか?

#2 2022-12-04 21:14:49

himadanee
Guest

Re: テーブル間で計算をするときはポータルですか?

テーブルの関係も結果の意味も解らないので何とも言えませんが、ポータルを使わなくてもリレーションだけで参照できますし、ExecuteSQLを使えば関数だけで取り出すこともできます。
結果は別のテーブルに置いたり、レイアウト上で表示するだけということも考えられます。

#3 2022-12-05 01:42:00

くうはく
Guest

Re: テーブル間で計算をするときはポータルですか?

リレーションだけでは参照できないから出納帳や家計簿ではテーブルを一つにしろ、
ということだとおもっていました。ああいわれるのはなぜですか?

ExecuteSQLをつかって他のテーブルにおく、というのは転記のようなかんじてますか?
またレイアウト上に結果をおくのはどのオブジェクトでおくのでしょうか?か

#4 2022-12-05 09:20:21

himadanee
Guest

Re: テーブル間で計算をするときはポータルですか?

「ああいわれる」といわれてもどう言われたのかわかりませんが、多分出納帳や家計簿で入金と出金を別のテーブルにしたという話なんでしょうけど、
そうだとすると自分にはそもそも別のテーブルにする理由が思いつきません。RDB理論で完全に正規化するとそうなる、というのはわかりますが、、、完全な正規化はSQL系のDBでもあんまりやらないんじゃないかな。

「リレーションだけでは参照できない」
参照できないというより、リレーションというのはある1つのレコードに対して関連するレコードを定義するものなので、例えば家計簿で入金と出金を別のテーブルにした場合、関連を定義しようがないと思います。

例えば月ごとの決算集計をするとしたら、1か月1レコードの別テーブルに集計結果を保存するというようなことはあると思います。転記ですね。何度も繰り返す処理なのでスクリプトでやるでしょうから、ExecuteSQLを使う必然性はありませんが...
この関数はリレーションを使わず複数テーブルからデータを収集する機能の1つとして上げましたが、スクリプトならレイアウトを切り替えて対象テーブルを変えればどのテーブルからもデータが得られます。

計算式を直接指定したければボタンバーが使えます。
マージ変数やグローバルフィールドというのもありますね。

#5 2022-12-05 10:35:16

Shin
Member

Re: テーブル間で計算をするときはポータルですか?

くうはく wrote:

リレーションだけでは参照できないから出納帳や家計簿ではテーブルを一つにしろ、

リレーションでその値は参照できるのですが、実際には、その各日付で時系列な処理が必要ですので、結局1テーブルで処理しないとしかたなくなります。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 551.22 KiB (Peak: 578.84 KiB) ]