みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
いつも大変おせわになっております。
バージョン19.5.3.300になります。
案件テーブルと借用テーブルがあります。それぞれ固有のシリアルはあります。
この2つは案件番号でリレーションしています。
案件テーブルの中に中に借用ステータスというフィールドがあります。
1つの案件の中に、借用の明細をポータルとして表示しています。
案件Aの中に、借用品A、借用品B、借用品C...といった具合です。
借用テーブルの中にも品名ごとのステータスがあります。
「手配OK」「手配まだ」「キャンセル済」といった具合です。
全ての借用品のステータスが手配OKで初めて、案件テーブルの借用品ステータスが「OK」
ひとつでも手配まだが混じれば「未完成」
全てキャンセル済で「キャンセル済」
キャンセル済と手配OKが混じっている場合は「手配OK」としたいです。
自分でもloop関数などを使ってスクリプトを作成しているのですが、動作が重いので改善したく、トピックを立てました。
上記の場合、どのような関数、計算式が処理が早いかご教授願えますでしょうか?
何卒よろしくお願いいたします。
借用テーブルの中のステータスから、次の計算フィールド(繰り返し)を作ります。
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
Shinさん
返信ありがとうございます。
借用テーブルの中のステータスから作る計算フィールド(繰り返し)の数は1でよろしかったでしょうか?
何卒よろしくお願いいたします。
Shinさんのやり方をしっかり理解し、Choose関数や集計フィールドを調べ、設定してスクリプトを作成したらうまくいきました。
ありがとうございました。
引き続き、何卒よろしくお願いいたします。
別の方法として、
借用テーブルの中のステータスを一覧する集計フィールドを作っておきます。
案件テーブル側でこの集計フィールドを、例えば、
Case (
ValueCount ( 借用テーブル::集計フィールド ; "手配まだ" ) ; "未完成" ;
:
)
などと判断しく方法もあります。
Offline
Shinさん
ありがとうございます。
そちらも今後試させていただきます。
[ Generated in 0.011 seconds, 10 queries executed - Memory usage: 512.3 KiB (Peak: 516.84 KiB) ]