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

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

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

You are not logged in.

Announcement

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


#1 2023-04-05 21:38:25

なぎ
Guest

ポータルに紐づいているレコードの複製機能を作りたい

いつもお世話になっております。
FileMaker Pro 19をWindowsで活用しております。

みなさまにお聞きしたいことがあります。
今作っているカスタムAppは
大元となる案件テーブルと中間テーブルを挟んで様々なテーブルに紐づいたポータルがあります。
(案件1に対して多)
似たような注文を受けた時の為に案件やポータルの入力状態を複製して新たに案件を作る処理を作ろうとしています。
単純に各ポータルのをループで回したりしてレコードを複製して実現しようとしましたが、
各ポータルと紐づいているものだとただ複製しただけだと、うまくいかないことになりました。
具体的に申しますと、案件の中に加工配置ポータルにある加工配置Noと、その加工Noに紐づいていて、加工配置に使う色を登録するペイントポータルがありまして、
以下のように登録していきます。

【加工配置ポータル】
加工配置No|名前|配置
1|〇〇社 ロゴ|胸部
2|野球ボールイラスト|背中

【ペイントポータル】
ペイントNo|加工配置No|色
1|1|黒
2|1|白
3|1|紫
4|2|白
5|2|茶

この例だと加工配置No1は3色、加工配置No2は2色使ってペイントするといった感じになります。
これを複製した際に。各ポータルはこうなって欲しいのですが、
【加工配置ポータル】
加工配置No|名前|配置
3|〇〇社 ロゴ|胸部
4|野球ボールイラスト|背中

【ペイントポータル】
ペイントNo|加工配置No|色
6|3|黒
7|3|白
8|3|紫
9|4|白
10|4|茶

自分の実装した複製スクリプトでは実際はこうなってしまいます。
【加工配置ポータル】
加工配置No|名前|配置
3|〇〇社 ロゴ|胸部
4|野球ボールイラスト|背中

【ペイントポータル】
ペイントNo|加工配置No|色
6|1|黒
7|1|白
8|1|紫
9|2|白
10|2|茶

複製前の案件が紐づくので、複製前の案件を削除したりすると、一緒に複製後のペイント情報も消えてしまうようなことになってしまいます。
自分の中では複製前の加工配置Noと複製後の加工配置Noを記録して、
ペイントポータルの複製時に「1」の加工配置Noがきたら「3」を登録する、といったような処理ができれば解決するのではないかと思いつつ
色々試してみましたが、うまくいきません…
どうか皆様のお知恵を貸していただければ幸いです。

#2 2023-04-05 22:12:24

Shin
Member

Re: ポータルに紐づいているレコードの複製機能を作りたい

だるま落とし というキーワードで検索してみて下さい。
複製後のリレーションキーの内容を書き換えればいいはずです。

Offline

#3 2023-04-05 22:33:54

himadanee
Guest

Re: ポータルに紐づいているレコードの複製機能を作りたい

複製すれば加工配置も1と2になるはずですから、それを3と4に修正する処理をしているのでは?

#4 2023-04-05 23:20:59

Shin
Member

Re: ポータルに紐づいているレコードの複製機能を作りたい

単純な複製ではないのですか。
1だけを両方で抽出して、単純に両方を複製、キーを書き換える、次に2を同様に、という手順でしょうか。

Offline

#5 2023-04-08 10:01:12

なぎ
Guest

Re: ポータルに紐づいているレコードの複製機能を作りたい

Shin様 himadanee様

返信ありがとうございます!
説明が分かりにくく申し訳ないです。
そうです、ペイントポータルのレコードだけ複製後にキーを置き換える必要があるんですね

#6 2023-04-08 16:32:46

Shin
Member

Re: ポータルに紐づいているレコードの複製機能を作りたい

ベストな方法は、名前のマスターテーブルを作り、それに対して色を持たせたカラーマスターを作ることでしょう。それでしたら、多品種の管理が可能で、ペイント側の管理も容易です。

複製する手順は、加工側のレコードを複製し、そのそれぞれにマスターからペイントデータをインポートしていきます。サンプルで具体的にみてください。
https://www.dropbox.com/s/jwtoiqh6m9qd7 … 2.zip?dl=0

姑息な方法としては、加工側に、色のリストを繰り返しフィールドに格納させておきます。
加工側の複製後、その繰り返しフィールドをカラーテーブルに分離してインポートします。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 556.61 KiB (Peak: 579.52 KiB) ]