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

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

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

You are not logged in.

Announcement

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


#1 2022-10-02 11:07:33

計算式のフィールドの繰り返し

FMS19とFMP19でWindows環境、ServerはMACMini(10.14.6)の構成です。

計算式のフィールドの繰り返しフィールドです。
計算式は部品番号でリレーションをとった部品マスターの価格×数量です。
繰り返しフィールドで1行目、2行目の部品番号の合計価格を出したいわけです。部品番号の行が30もあります。計算式でフィールドを作れば30個もできてしまうので、繰り返しでできないかと思っています。
計算式をどのようにすればできるのでしょうか
よろしくおねがいします。

Offline

#2 2022-10-02 11:33:38

Shin
Member

Re: 計算式のフィールドの繰り返し

繰り返しをやめて、関連テーブルを作ることを、強くお薦めします。表示はポータルで行うと、よく似た表示になります。
その関連テーブル側のフィールドを合計するのは簡単です。

どうしても繰り返しフィールドでないとダメな構造になってしまっているのでしたら、各単価をルックアップする繰り返しフィールドを作り、数量の繰り返しフィールドを作り、それから金額をだす計算繰り返しフィールドを作ればいいですが、後々データの使い回しができませんので、全くおすすめしません。

Offline

#3 2022-10-02 11:57:01

Re: 計算式のフィールドの繰り返し

なるほど、関連テーブルに挑戦してみます

Offline

#4 2022-10-02 13:55:08

Re: 計算式のフィールドの繰り返し

関連テーブルを作成しました。ポータルで表示するようにしました。
元のテーブルとこの関連テーブルとは、図番でリレーションをとりました。
ここで元のテーブルからポータルをみるときに関連テーブルに新規レコードを作ってそこに図番をいれなければなりません。
このために毎回スクリプトのボタンをおしてポータルを表示させるというのもなんだかなーと思っています。
最初に関連テーブルに全レコードをつくっておいてもいいのですが、元のテーブルには1万件のデータがあるのでこれもどうかなとおもっています。
どうすれば自動でポータルに表示ささせることができますでしょうか?
また、関連テーブルの合計は必要なわけです。これは関連テーブル側で図番ごとの集計でですか?

Offline

#5 2022-10-02 22:55:16

Shin
Member

Re: 計算式のフィールドの繰り返し

リレーションの設定で、関連テーブル側に、リレーションを通してレコードの作成を許可する にチェックしてみて下さい。ポータルの一番下の行で入力できるようになります。

関連レコード側に部品番号と数量を設定したら、そこからリレーションした部品マスターの価格を参照して、金額を計算するフィールドを作ります。さらに、それを合計する集計フィールドを追加します。
元の図表レイアウトに、ポータルと集計フィールドを配置すればいいでしょう。

Offline

#6 2022-10-03 07:22:19

Re: 計算式のフィールドの繰り返し

そうでした。「レコードの作成を許可する にチェック」ですね。いまのところポータルは使わずに、別テーブルにしてここに新規レコードを作り、図番をコピペしてジャンプするスクリプトで対応しました。この関連テーブルのデータはリレーションのあるところにポータルで表示できるようになりました。ありがとうございました。しかし50個の計算フィールドはこの関連テーブル上でつくらなければならないですけどね。

Offline

#7 2022-10-03 08:42:04

Shin
Member

Re: 計算式のフィールドの繰り返し

> 50個の計算フィールドはこの関連テーブル上でつくらなければならないですけどね。
何の計算式ですか。家格×個数 でしたら、その関連レコードから商品マスターへリレーションを張れば、1個ですみます。

図面テーブル    図面明細        部品テーブル
  図番           =  図番
                       部品コード  =  部品コード
                       数量
                       金額(部品テーブル;;単価 * 数量)
                       s_金額(金額を合計する集計フィールド)

Last edited by Shin (2022-10-03 08:57:22)

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, 7 queries executed - Memory usage: 557.77 KiB (Peak: 581.63 KiB) ]