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

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

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

You are not logged in.

Announcement

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


#1 2022-09-06 13:53:36

tfm
Guest

全ての商品OKで完成。ひとつでも揃わなければ未完成。といった動作に適したスクリプトをご教授願いたいです。

いつも大変おせわになっております。
バージョン19.5.3.300になります。
案件テーブルと借用テーブルがあります。それぞれ固有のシリアルはあります。
この2つは案件番号でリレーションしています。
案件テーブルの中に中に借用ステータスというフィールドがあります。
1つの案件の中に、借用の明細をポータルとして表示しています。
案件Aの中に、借用品A、借用品B、借用品C...といった具合です。

借用テーブルの中にも品名ごとのステータスがあります。
「手配OK」「手配まだ」「キャンセル済」といった具合です。

全ての借用品のステータスが手配OKで初めて、案件テーブルの借用品ステータスが「OK」
ひとつでも手配まだが混じれば「未完成」
全てキャンセル済で「キャンセル済」
キャンセル済と手配OKが混じっている場合は「手配OK」としたいです。

自分でもloop関数などを使ってスクリプトを作成しているのですが、動作が重いので改善したく、トピックを立てました。
上記の場合、どのような関数、計算式が処理が早いかご教授願えますでしょうか?

何卒よろしくお願いいたします。

#2 2022-09-06 14:04:28

Shin
Member

Re: 全ての商品OKで完成。ひとつでも揃わなければ未完成。といった動作に適したスクリプトをご教授願いたいです。

借用テーブルの中のステータスから、次の計算フィールド(繰り返し)を作ります。
Choose ( Get ( 計算式繰り返し位置番号 ) - 1 ;
    ステータス[1] = "手配OK" ;
    ステータス[1] = "手配まだ" ;
    ステータス[1] = "キャンセル済"
)
さらに、それを個別に合計する集計フィールドを作っておきます。
案件テーブル側でこの集計フィールドを、例えば、
Case (
    借用テーブル::集計フィールド[2] ; "未完成" ;
    借用テーブル::集計フィールド[3] = Count ( 借用テーブル:主キー ) ; "キャンセル済"  ;
    借用テーブル::集計フィールド[1] + 借用テーブル::集計フィールド[3] = Count ( 借用テーブル:主キー ) ; "手配OK" 
)
などと判断していけばいいです。

Last edited by Shin (2022-09-06 16:05:31)

Offline

#3 2022-09-06 16:51:42

tfm
Guest

Re: 全ての商品OKで完成。ひとつでも揃わなければ未完成。といった動作に適したスクリプトをご教授願いたいです。

Shinさん

返信ありがとうございます。

借用テーブルの中のステータスから作る計算フィールド(繰り返し)の数は1でよろしかったでしょうか?

何卒よろしくお願いいたします。

#4 2022-09-06 18:37:17

tfm
Guest

Re: 全ての商品OKで完成。ひとつでも揃わなければ未完成。といった動作に適したスクリプトをご教授願いたいです。

Shinさんのやり方をしっかり理解し、Choose関数や集計フィールドを調べ、設定してスクリプトを作成したらうまくいきました。
ありがとうございました。

引き続き、何卒よろしくお願いいたします。

#5 2022-09-07 10:49:07

Shin
Member

Re: 全ての商品OKで完成。ひとつでも揃わなければ未完成。といった動作に適したスクリプトをご教授願いたいです。

別の方法として、
借用テーブルの中のステータスを一覧する集計フィールドを作っておきます。
案件テーブル側でこの集計フィールドを、例えば、
Case (
    ValueCount ( 借用テーブル::集計フィールド ; "手配まだ" ) ; "未完成" ;
    :
)
などと判断しく方法もあります。

Offline

#6 2022-09-07 21:36:36

tfm
Guest

Re: 全ての商品OKで完成。ひとつでも揃わなければ未完成。といった動作に適したスクリプトをご教授願いたいです。

Shinさん

ありがとうございます。
そちらも今後試させていただきます。

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 515.23 KiB (Peak: 519.77 KiB) ]