Microsoft Access 掲示板

一対多でインポートするには

3 コメント
views
4 フォロー

エクセルで
日付 取引先 商品ID 個数 締め日 請求日
のデータがあります

Accessでは
伝票テーブルには
伝票ID 日付 取引先 締め日 請求日
詳細テーブルには
詳細ID 伝票ID 商品ID 個数
とあり伝票IDでリレーションしています
いずれもIDはオートナンバーで
いわゆる一対多といわれる構造だと思います

伝票テーブルには
日付 取引先 締め日 請求日
詳細テーブルには
商品ID 個数
と、振り分けてインポートし、日付を基準として
伝票IDで紐づく一対多になるようにインポートするにはどのようにしたらいいですか?

インポートが複雑になるので
現在ののようPCでは
そもそも正規化せずにテーブルを一つにしてすべてのレコードに対して
日付や取引先や請求日をもたせるものでしょうか?

わあ
作成: 2022/05/17 (火) 00:45:47
通報 ...
1
りんご 2022/05/17 (火) 05:22:09 c564b@0e907

 セオリーはわかりませんが、こんな感じで出来るのかもしれません。
 取り敢えず、同じ構造のテーブルを用意して振り分けずにそのままインポート
テーブル1: 日付,取引先,商品ID,個数,締め日,請求日
 テーブル1の選択クエリを作る。伝票テーブルに関係するフィールドを選ぶ。
クエリ1:日付,取引先,締め日,請求日
 集計ボタンを押してグループ化したら、追加ボタンを押して追加クエリに変更し、実行ボタンを押して伝票テーブルに追加。
伝票テーブル:🔑伝票ID,日付,取引先,締め日,請求日
 クエリ2を作る。テーブルの追加ボタンを押して伝票テーブルとテーブル1を表示。共通するフィールドを結合。詳細テーブルに関係するフィールドを選ぶ。
クエリ2:伝票ID,商品ID,個数
 追加ボタンを押して追加クエリに変更し、実行ボタンを押して詳細テーブルに追加。
詳細テーブル:🔑詳細ID,伝票ID,商品ID,個数

3

基本的にこの回答の通りでいいと思いますが、

 取り敢えず、同じ構造のテーブルを用意して振り分けずにそのままインポート

ここは、インポートでなくリンクでいいかと思います。
そうすればテーブルは不要ですし、インポート前にテーブルからデータ削除とかの操作も不要になります。

2
りんご 2022/05/17 (火) 05:35:12 c564b@0e907

>> 1
 売上なのか、受注したのか、出荷したのか?伝票テーブルに締め日と請求日を持たせるべきか?という点が気になります。