みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
はじめて質問させて頂きます。
FileMaker 18 Proにて、
注文情報に記載の商品コードを使い、商品マスタのテーブルから品名と価格を呼び出して、
複数行の納品書を作成するフォームを作りたいと考えています。
ネックとなるのは、注文情報が手入力ではなく、Googleフォームから出力したCSVを取り込む形となることです。
CSVの1行=1レコードとならざるを得ないと思うのですが、
1レコード内で、複数の「商品コード→商品名と価格」の紐付けを行いたいのです。可能でしょうか。
テーブル1「商品マスタ」
・商品コード
・商品名
・価格
テーブル2「注文情報」
・注文者名
・注文商品コード1
・注文商品コード2
・注文商品コード3
・注文商品コード4
テーブル1と2でリレーションを組んでも、商品コード1のみ呼び出すことしかできません。
ご教示いただけますと幸いです。
Offline
注文明細は、注文番号などでリレーションを貼った別テーブルに、1商品1レコードで作ることをお勧めします。
この構造でしたら、CSVをそのまま取り込めますね.
Offline
ご助言ありがとうございます。
CSVの1行の中に、商品番号が複数入っています。
1行につきレコードとしてしかインポートできないという認識なのですが、
どのように取り込めば良いのでしょうか。
また、納品書の注文者名部分は1枚につき1レコード、
商品は1枚につき複数レコードになるかと思うのですが、その設定はどのように行えば良いのでしょうか。
Offline
CSV1行が1注文で、そこに商品が複数有り、
その数量も複数有るのでしょうか?
として、、
インポート用のテーブルを作り、そこへ一時保管。
商品と、その数量をそれぞれ繰り返しフィールドに計算入力。
注文明細でそれをインポート。
これで、注文商品ごとに1レコードとできます。
Offline
そのCSVファイルを見せていただけませんか。方法はありますよ。
> 商品は1枚につき複数レコードになる
はどういう意味ですか。注文1件につき、商品レコードが複数になる、という意味でしょうか。
Offline
>チポさま
仰る通りです。
CSV(と言いましたが正確にはxlsxでした)1行1注文です。
1行の中に商品は複数あります。数量はありません。(発注は全て1のため)
>>インポート用のテーブルを作り、そこへ一時保管。
>>商品と、その数量をそれぞれ繰り返しフィールドに計算入力
>>注文明細でそれをインポート。
繰り返しフィールドに計算入力という部分が、理解しきれていません。
繰り返しフィールドは一時保管のテーブルに作成するのでしょうか?
>>Shinさま
はい、注文1件=1行=1レコード=納品書1枚 とできないかと考えていたものですから、
納品書1枚=注文1件の中で、複数レコードが入るというイメージができませんでした。
サンプルの注文xlxsデータをアップします。アドバイス頂けると大変ありがたいです。
https://www.dropbox.com/s/t87gf1qaovgv5 … .xlsx?dl=0
Offline
インポート用のテーブル
注文商品コードの最大数以上フィールドを作ります。
これらのフィールド名を仮に
f1,f2,f3・・・・
の様に適当な同じ名前と1からの連続した数字にします。
さらに、
計算フィールドを作り、上記の数分の繰り返しとしてその計算式、
GetField ( "f" & Get (計算式繰り返し位置番号) & "[1]" )
とすると繰り返し順に
f1,f2,f3・・・・
の値が入力されます。
これを、
注文商品コードフィールドを一つとしたテーブルで、
繰り返しを複数のレコードに分けてインポートします。
Offline
チポさま、再びありがとうございます。
>>注文商品コードの最大数以上フィールドを作ります。
>>これらのフィールド名を仮に
>>f1,f2,f3・・・・
>>の様に適当な同じ名前と1からの連続した数字にします。
>>さらに、
>>計算フィールドを作り、上記の数分の繰り返しとしてその計算式、
>> GetField ( "f" & Get (計算式繰り返し位置番号) & "[1]" )
>>とすると繰り返し順に
>> f1,f2,f3・・・・
>>の値が入力されます。
ここまでは出来、繰り返しf1~f3まで入った繰り返しフィールドができました。
>>これを、
>>注文商品コードフィールドを一つとしたテーブルで、
>>繰り返しを複数のレコードに分けてインポートします。
この部分が分かりません。
「繰り返しを複数のレコードに分けてインポートします。」
ファイルメニューから行うレコードのインポートとは違う操作でしょうか。
Offline
普通にインポートします。
インポートオプションのダイアログを注意してみてください。
「繰り返しフィールド:」
「値を複数のレコードに分割 」
という設定が有ります。
Offline
サンプルを参考にしてみてください。
https://www.dropbox.com/s/85numxtr12v5c … 2.zip?dl=0
Last edited by Shin (2020-04-22 09:40:33)
Offline
>Shinさま
ありがとうございます。
サンプルをの構造を確認しながら、理解をすることができました。
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 525.44 KiB (Peak: 546.34 KiB) ]