|
かるびのさま
何度か読み返しているうちに商品IDの考え方が理解が出来てきました。
受注明細に商品IDさえ入っていれば、商品名などは複数必要ありませんね。
さて、
かるびのさんのおっしゃる通りCSVから一旦インポート用テーブルに落とした後に追加クエリを実行しています。
追加クエリによって、商品IDを入れる事が出来ると教えて頂いたので、こちらでやってみたいと思います。
まず、行ったことは
1)長さ0の文字列なら結合できるという事で、自分なりに参考書などを見ながら該当テーブルのテーブルB(商品マスター)、インポート用テーブルの色フィールドのプロパティーを「値要求、空文字の許可、インデックス」すべてを「はい」にしました。
2)それから、何も入っていない商品マスター(テーブルB)の色フィールドのレコードすべてに「""」をいれました。
商品マスター(テーブルB)の商品IDは主キーで受注明細(テーブルA)に設けた商品IDフィールドとリレーションシップでつながっています。
と、ここまでやった上で、
そして、商品ID追加用の受注明細追加クエリにチャレンジしてみました。まず、追加すべきデータが正しく抽出できるかを、以下のようにやってみました。
はじめに、クエリデザイナー画面でインポート用テーブルと商品マスター(テーブルB)を表示し、商品名どうし及び色どうしを結びました。そしてデータシートビューで表示させたところ、色に何も入っていないレコードが出てきませんでした。表示させたフィールドは受注番号・単価・数量と、商品名と色を除いた受注明細固有のデータです。商品マスター(テーブルB)の何も入っていないレコードには「""」を入れたはずなのですが。 ためしに、色にIs Nullといれて表示させるとやはり何も出てきません。どうやら「""」は効いているようです。本来は行わないインポート用テーブルの色フィールドの何も入っていないレコードにわざわざ「""」を入れても結果は同じでした。ここまでは、一番最初に質問した状況に戻ってしまったかんじです。結合の種類かなにかが悪いのでしょうか?
Nullではなく長さ0の文字列に変更したのですがうまくいきません。
ここまでで止まってしまいました。まだ、正しく理解できていないようです。
ただ、試しにと思って、表示された色が入っていない上記抽出結果をテーブルAに追加しようとすると「入力規則違反」とでるのですが。
お手数をおかけいたします。
毎日遅い時間にお付き合い頂き有難うございます。
本日よりお休みになりますのでお時間があるときで結構です。
お忙しいところ恐縮です。
よろしくお願いします。
|
|