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

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

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

You are not logged in.

Announcement

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


#1 2019-08-28 16:23:23

めい吉
Member

外部ファイルを表示したレイアウトに計算フィールドを追加したい

[Aテーブル(外部参照)]を関連付けた[Aレイアウト]があります。

Aテーブルに計算フィールドを追加したいのですが、
分け合ってAテーブル自体にフィールドを増やしたく有りません。


Aテーブル
flg1|id|種類   |金額
1   |00|りんご|100
1   |01|りんご|200
1   |02|みかん|50
1   |03|すいか|1000

Bテーブル
flg1|備考
1   |(計算)

Bテーブルの備考(計算フィールド)
if(Aテーブル::金額 >= 1000;"高";"安")

イメージとしては、
Aテーブル
flg1|id|種類  |金額|備考
1   |00|りんご|100 |安
1   |01|りんご|200 |安
1   |02|みかん|50  |安
1   |03|すいか|1000|高

です。

Aテーブル::flg1とBテーブル::flg1をリレーションの"="で繋いでも出来ませんでした。

Last edited by めい吉 (2019-08-28 16:24:53)

Offline

#2 2019-08-28 16:32:25

メイ
Guest

Re: 外部ファイルを表示したレイアウトに計算フィールドを追加したい

Aテーブルの主キーはidですか?
Bテーブルにidを追加し、idでリレーションをつなげばうまくいくと思います。

それともflg1の合計金額で判定したいのかな?
もしそうであれば計算フィールドでsumを使えばできます。

#3 2019-08-28 16:48:02

めい吉
Member

Re: 外部ファイルを表示したレイアウトに計算フィールドを追加したい

Aテーブルのidは主キーです。
Aテーブルのレコード数は変動する為、Bテーブルにidを追加してもうまくリレーションが繋がりません。

Bテーブルは1レコードのみで、複数レコードあるAテーブルで[Aテーブル::金額]毎の計算結果の[Bテーブル::備考]を表示したいです。

Offline

#4 2019-08-28 17:28:02

Moz
Member

Re: 外部ファイルを表示したレイアウトに計算フィールドを追加したい

Aテーブルの各レコード毎に「金額」の値に基づいた計算結果を「備考」として表示したいってことですよね?
メイさんが提案されているようにAテーブルとBテーブルをAテーブルの「id」でリレーションするのが早いでしょう。
AテーブルとBテーブルのレコード数は同じになり、1対1のリレーションになるということです。

例示されているようにAテーブルのレコード毎に備考を表示したいならばBテーブルは1レコードのみというのは難しいでしょう。
「何を基準にAテーブルの各レコードの金額を取得するのか」と考えれば答えは簡単です。

Aテーブルに備考フィールドを追加すればいいだけの話ですが何故ダメなのでしょう?

Last edited by Moz (2019-08-28 17:29:26)

Offline

#5 2019-08-28 17:35:15

koeda
Member

Re: 外部ファイルを表示したレイアウトに計算フィールドを追加したい

めい吉さんご自身が例示されているように、
Aテーブルに4行あれば、Bテーブルも4行分の備考を
データとして生成する必要があるのでは?

Aテーブルにレコード追加した時に、Bテーブルに同じidのレコードを追加し、
AとBが常に同じレコード数になるような仕掛けが必要ですね。例えば…

Aテーブル作成時→[Aレイアウト]のOnRecordCommitイベントでBテーブルにIDをセット
Aテーブル削除時→リレーションの定義でBテーブルも削除する
でうまく行きませんか?

Last edited by koeda (2019-08-28 18:19:36)

Offline

#6 2019-08-29 10:17:50

チポ
Member

Re: 外部ファイルを表示したレイアウトに計算フィールドを追加したい

金額フィールドをテキストにしてもいいのなら、
入力値の自動化・既存値置き換えで
「安」「高」を加える様にしたらいかがでしょう。。

無理無理ですね;;;

フィールド一つ増やすのがなぜいけないのでしょう?

Offline

#7 2019-08-29 15:43:48

Shin
Member

Re: 外部ファイルを表示したレイアウトに計算フィールドを追加したい

Aテーブル::金額 >= 1000 という条件だけでいいのですか。
表示だけでいいのでしたら、レイアウトに、高 安、というオブジェクトを配置し、その条件で隠せばいいだけでは。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 8 queries executed - Memory usage: 515.34 KiB (Peak: 519.88 KiB) ]