みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
WinPro10、Filemaker17advanceで作業しています。
検査台帳に、検査項目を登録するのですが、登録する検査項目は、あらかじめ決まった項目を入力したり、複数項目がをセットでオーダーされます。
台帳テーブル:台帳ID、月日、登録者No、セットNo(グローバル)
台帳詳細テーブル:ID、台帳ID、項目ID、測定値
項目マスター:項目ID、項目名
セットマスター:セットNO、セット名
セット詳細項目マスター:ID、セットNO、項目ID
セットマスターと項目マスターをセット項目詳細マスターでリレーション
台帳テーブルと台帳詳細テーブルをリレーションして、台帳レイアウトにポータルとして台帳詳細テーブルを表示しています。
台帳レイアウト上で、グローバルフィールドのセットNOを入力するたびに、ポータルへそのセットにリレーションしている項目IDが新規挿入されていく。
こんなイメージで、スクリプトを作りたいのですが、うまくいきません。同じ項目がそのID分繰り返し挿入されてしまいます。
変数を設定[$台帳ID;値:台帳::台帳ID]
関連テーブルへ移動[テーブル:セット詳細項目;使用するレイアウト:「セット詳細項目」(セット詳細項目マスター)]
[関連レコードのみを表示]
変数を設定[$CNT;値:0]
LOOP
変数を設置[$CNT;値$CNT+1]
変数を設定[$項目ID[$CNT];値:項目マスター::項目ID]
レコード/検索条件/ページへ移動
[次の;最後まできたら終了]
End Loop
レイアウト切り替え[セット詳細項目マスター(セット詳細項目マスター)]
変数を設定[$Max;値:$CNT]
変数を設定[$CNT;値:0]
Loop
変数を設定[$CNT;値:$CNT+1]
新規レコード/検索条件
フィールド設定[台帳詳細テーブル::台帳ID[$台帳ID]]
フィールド設定[台帳詳細テーブル::項目ID]
Exit Loop
End Loop
レイアウト切り替え[台帳(台帳テーブル)]
Offline
台帳テーブル:セットNo と セット詳細項目マスター:セットNO にリレーションを貼っておきます。
台帳テーブルから、
変数を設定[$ID ; 台帳テーブル:台帳ID]
関連レコードへ移動[セット詳細項目マスター][関連レコードのみを表示]
レイアウト切り替え[台帳詳細テーブル]
レコードをインポート[セット詳細項目マスター]
フィールドを全置換[台帳ID ; $ID]
レイアウト切り替え[元の]
ちょっと気になるのは、結果は手入力ですか?
Last edited by Shin (2019-12-07 16:18:03)
Offline
ありがとうございます。
ためしてみます。
ちなみに検査結果は、手入力です。
Offline
Shin様ありがとうございました。無事できました。
Offline
Pages: 1
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 554.9 KiB (Peak: 583.26 KiB) ]