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

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

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

You are not logged in.

Announcement

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


#1 2016-11-26 23:30:32

ごう
Member

繰り返しフィールドの計算について

OS:[ windows 7 ]
FileMaker Ver:[ 15 ]

いつもお世話になっております。
繰り返しフィールドの計算でうまくいかず困っています。

テーブル構成

テーブル:商品管理
フィールド:品番
繰り返し(10)フィールド:カラー

テーブル:受注明細
フィールド:品番
繰り返し(10)フィールド:受注数

受注明細側のデータベースで受注明細の品番と商品管理の品番をリレーション設定
受注明細の受注数フィールドの計算値に下記の式を設定

If ( 商品管理::カラー = "" ; "" ; 受注数 )


テーブル:商品管理
カラー[1] :オフ   カラー[2]:ブラック    カラー[3]:空白


テーブル:受注明細
受注数[1]:5     受注数[2] :3    受注数[3]:カラー[3]が空白のためここに数字を入力しても確定後空白にする。


上記の式ですが、カラーが空白のとき、空白のカラーと同じ繰り返し位置の受注数を登録できないようにしたいと思っております。
ですが、この式で反映されるのは受注数[1]のみとなってしまいます。
同じようにたとえばカラー[3]が空白の場合、受注数[3]を入力しても確定後、空白にするにはどのようにしたらいいでしょうか?
よろしくお願い致します。

Offline

#2 2016-11-27 01:43:33

旅人
Member

Re: 繰り返しフィールドの計算について

入力・確定の必要は無さそうなので
スクリプト
変数を設定 名前$r 値Get(アクティブ繰り返し位置番号)
If[ IsEmpty(GetRepetition(商品管理::カラー;$n))
  カスタムダイアログ
  とか
  フィールドヘ移動[]
End If
を作って、これを受注明細テーブルの受注数フィールドの
OnObjectEnterトリガのスクリプトに指定する。
とかで・・・

Offline

#3 2016-11-27 10:40:54

Shin
Member

Re: 繰り返しフィールドの計算について

カラー別の明細を別テーブルで設定し、ポータルで入力する様な構成へ変更しましょう。繰り返しフィールドでの構成では、将来的に発展させる事がほぼ不可能です。
別テーブルで明細を管理すれば、上の様な事はごく簡単に実現できますよ。

どうしても今の構造を使いたいのでしたら、Case ( IsEmpty ( text ) ; text ; Self ) という自動計算式(既存値置き換え)で、手元も検証ファイルでは動く事が確認できています。式の内容はほぼ同じだと思いますが。

Last edited by Shin (2016-11-27 18:09:49)

Offline

#4 2016-11-27 20:46:40

ごう
Member

Re: 繰り返しフィールドの計算について

旅人さん、Shinさんご返答ありがとうございます。

スクリプトトリガで設定するとうまくいきました。
Shinさんが教えて下さった受注数の自動計算値にCase ( IsEmpty ( 商品管理::カラー ) ; "" ; 受注数 ) を設定しましたが、カラー[3]が空白で受注数[3]に数字を入力すると空白になりませんでした。
何か設定が間違っているのでしょうか。

またテーブル構成ですが、商品管理、受注管理、受注明細管理の三つで構成しています。
商品管理は1レコードに1品番(受注明細の品番とリレーション)、10カラー(繰り返しフィールド)まで登録できるようにしています。
受注管理では受注No(受注明細の受注Noとリレーション)を設定し、ポータルで受注明細の品番、受注数(繰り返し10)商品管理のカラー(繰り返し10)を表示しています。
このような場合、繰り返しフィールドにするよりそれぞれ(カラーや受注数等)フィールドを10個作るほうがいいでしょうか。

また繰り返しフィールドの場合ですが、受注明細の品番で自己リレーションして繰り返しフィールドの各受注数合計を計算する方法はありますでしょうか?
ある品番の受注数[1]の総合計、受注数[2]の総合計というように

何度もすみませんがよろしくお願い致します。

Offline

#5 2016-11-28 09:00:57

Shin
Member

Re: 繰り返しフィールドの計算について

既存値上書きを禁止のオプションをオフにしていますか。

フィールドを分けるのではなく,1受注1品番1カラーで1レコードになるようなテーブルを作るのが良いでしょう。または、1品番1カラーでの商品マスター管理でも良いと思います。
今の構造では,カラー毎の受注数などという集計に、非常に手間がかかります。特に、デザインの似た商品ではカラー毎の集計もよく行われるので、結構手間のかかる作業になりますよ。(結局、1カラー毎にレコードを分解して集計する事になります)
受注数の合計は,Sum() で計算できますし,繰り返し毎の集計も集計機能を使うと可能です。
参考:https://fm-aid.com/bbs2/viewtopic.php?id=5505

Last edited by Shin (2016-11-28 10:01:04)

Offline

#6 2016-11-29 22:43:51

ごう
Member

Re: 繰り返しフィールドの計算について

Shinさんありがとうございます。
一度構成を見直してみたいと思います。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 513.1 KiB (Peak: 517.64 KiB) ]