みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
win10 FM18
FileMakerserverにて運用中です。
商品管理DBを構築しています。
商品情報テーブル、仕様情報テーブルがあります。
商品A
仕様情報a
仕様情報b
仕様情報c
商品B
仕様情報d
仕様情報e
商品C
商品D...
仕様情報は、商品情報レイアウトにポータルで表示しています。
仕様情報をインポートで一括更新を行う際、
ユニークな値として【商品id-仕様id】(照合用)を設けているのですが、
新規レコードを取り込む場合は、
元データの【商品id-仕様id】が生成前の状態(エクセルで空白)になるためインポートできません。
ポータルで扱いたいテーブルのレコードを
追加更新していく場合、最適な方法がありましたらご教示いただきたく存じます
Offline
複数のテーブルに一度にインポートできませんから、まず商品をインポートしてからやるしかないのでは。
エクセル側では、どのようなデータ並びになっているのですか。そちらである程度の処理をしておく必要があるかもしれません。
Offline
返信ありがとうございます。
himadaneeさん
商品情報テーブルにはすでに商品がインポートされている状態です。
その商品に紐づいている(または紐づけたい)仕様情報だけを更新したいと思っています。
Shinさん
エクセル側では
A列 B列 C列 D列
商品情報id 仕様情報ID 仕様情報1 仕様情報2
1111 データなし aaaa ああああ
1111 データなし bbbb いいいい
1112 データなし cccc うううう
....
となっています。
商品情報IDはすでに決定していますが、
仕様情報IDは空白状態にしています。
このエクセルのシートに必要情報を入力し、
インポートで一括取込したいのです。
Last edited by kuri (2022-04-26 10:49:53)
Offline
> ユニークな値として【商品id-仕様id】(照合用)
これが分からないのですが、
両テーブルは商品idでリレーションしているのではないのでしょうか?
また、
使用情報テーブルは1仕様情報ごとに1レコードですよね?
ならば、
エクセルのC列とD列は別のレコードとなりますから、
列ごと、複数回のインポートが必要でしょう。
仕様情報IDもCとDでは異なるのでは?
Offline
仕様情報テーブルには、仕様情報フィールドが複数あり、それぞれに、仕様情報1 仕様情報2 が入力されるのですよね。
仕様情報IDは、1インポートごとに1個設定される、ということでしょうか。また、その付番規則は?
とりあえず、別のテーブルを用意します。商品情報id 仕様情報ID 仕様情報1 仕様情報2 フィールドを作り、商品情報id で自己リレーションしておき、仕様情報を自動設定しておきます。インポート後に、仕様情報IDを、リレーション先の仕様情報IDで全置換します。そのデータを実テーブルにインポートすればいいです。
Offline
チポさん
返信ありがとうございます。
>両テーブルは商品idでリレーションしているのではないのでしょうか?
商品idでリレーションしています。
商品情報テーブルでは商品idが主キーとなり、
仕様情報テーブルでは商品idは外部キーとなります。
>使用情報テーブルは1仕様情報ごとに1レコードですよね?
商品情報の1レコードに対して、仕様情報は複数レコードあります。
Offline
Shinさん
返信ありがとうございます。
>仕様情報IDは、1インポートごとに1個設定される、ということでしょうか。また、その付番規則は?
はい、そうです。
付番は、レコード作成時にシリアル番号が作成されます。
新規の仕様情報レコードをインポートする場合と、
既存(すでに仕様情報が存在している)レコードを照合インポートする場合があるのですが、
インポート用に別テーブルを用意した場合、
既存レコードを更新することができるでしょうか。
既存レコードの場合は、
エクセル側のB列は【データなし】とはならず、
実際の仕様情報IDが入った状態になります。
また、エクセル側には
新規レコードと既存レコードが混在するパターンもあります。
Offline
んっ..
商品情報id 仕様情報ID 仕様情報1 仕様情報2
1111 11110 aa ああ
1111 11111 bb いい
1112 11120 cc うう
というデータがあって、#4のデータをインポートするとどうなります?
商品情報id 仕様情報ID 仕様情報1 仕様情報2
1111 11110 aa ああ
1111 11111 bb いい
1112 11120 cc うう
1111 11112 aaaa ああああ
1111 11112 bbbb いいいい
1112 11121 cccc うううう
でいいですか。
Offline
> 商品情報の1レコードに対して、仕様情報は複数レコードあります
私の質問は違います
> 仕様情報テーブルは1仕様情報ごとに1レコードですよね?
です。
Shinさんは
1レコードに複数の仕様情報フィールドがある?
と聞いてますね。
どちらでしょう??
Offline
Shinさん
返信ありがとうございます。
>#4のデータをインポートするとどうなります?
>商品情報id 仕様情報ID 仕様情報1 仕様情報2
1111 11110 aa ああ
1111 11111 bb いい
1112 11120 cc うう
1111 11112 aaaa ああああ
1111 11112 bbbb いいいい
1112 11121 cccc うううう
>でいいですか。
はい、上記のようになります。
この場合、#4 #5 #6 は新規レコードとしてインポートされるのですが、
#1の内容変更があり、
エクセル側で
#1
1111 11110 aa かかかか
となった場合は、
インポート後、仕様情報2に対して ああ→かかかか
と更新されるようにしたいのです。
FileMaker環境のないスタッフがデータ収集する都合で、
いったん、エクセルシートにデータを集めてもらい→まとめてインポートというフローで運用していこうと思っています。
Offline
チポさん
返信ありがとうございます。
>Shinさんは
> 1レコードに複数の仕様情報フィールドがある?
>と聞いてますね。
>どちらでしょう??
私の理解不足ですみません。
仕様情報テーブルには複数フィールドがあり、
1レコードに複数の仕様情報フィールドがあります。
Offline
> #1の内容変更があり、
この場合には、
エクセル側で
1111 11110 aa かかかか
と仕様情報IDも入力されているのですか。それともIDの入力は無く、仕様情報1を照合データとして、仕様情報2を書き換えるのでしょうか。
Offline
Shinさん
返信ありがとうございます。
>エクセル側で
1111 11110 aa かかかか
>と仕様情報IDも入力されているのですか。
仕様情報IDは入力されています。
Offline
んん!?
質問の大前提が、
エクセルで仕様情報idがない。
と書かれているのに、
いま
> 仕様情報IDは入力されています
と書いています。
入力されていれば何の問題もないと思いますが、、
Offline
私が買いているのは、既存の仕様への更新の場合ですよ。
新規の仕様では、仕様情報ID は空欄でしょう。
Offline
ああ、
既存の更新には仕様情報idがあり、
新規の場合はない。
ですね。
仮のテーブルに全部インポートしてから、
idがあるレコードのみを照合インポート
空白を新規インポートとすればいいでしょう。
idを振るのはどちらのテーブルでもできるのでは。
Offline
Pages: 1
[ Generated in 0.007 seconds, 9 queries executed - Memory usage: 602.39 KiB (Peak: 618.93 KiB) ]