質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

2回答

1791閲覧

Access 得意先、仕入先データベースについて

tkyk.

総合スコア20

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2020/04/05 08:39

編集2020/04/07 10:26

お世話になります。
先日質問した得意先、仕入先一覧の内容を編集しましたので再度ご回答お願い出来ればと思います。
商品管理ソフトは別のシステムを使用しておりますがそこからエクスポートしたExcelの
売上明細、仕入明細は以下のようなファイルになっております。
この売上明細と仕入明細をAccessを使いひとつのテーブルにまとめたいです。
宜しくお願い致します。

売上明細
|種別ID|種別|顧客ID|顧客名|売上日|伝票No|営業所|担当者|商品ID|商品名|売上|原価|
|--:|:--:|--:||:--|:--:|--:||:--|:--:|--:|
|001|文房具|S01|佐藤商事㈱|12/10|10051|東京|鈴木|B103|ボールペン|200|150|
|001|文房具|S01|佐藤商事㈱|12/10|10051|東京|鈴木|H101|ハサミ|300|170|
|002|消耗品|S01|佐藤商事㈱|12/10|10051|東京|鈴木|T107|トナー|1000|800|

仕入明細
|仕入先ID|仕入先名|仕入日|伝票No|伝票No2|営業所|担当者|商品ID|商品名|金額|
|--:|:--:|--:||:--|:--:|--:||:--|:--:|
|A03|足立鉛筆㈱|12/10|10051|100511|東京|鈴木|B109|ボールペン|150|
|H05|保坂産業㈱|12/9|10051|100512|東京|鈴木|H106|ハサミ|170|
|T06|谷川印刷㈱|12/8|10051|100513|東京|鈴木|T108|トナー|800|

上記の売上明細と仕入明細と下記のような一括のテーブルにしたいです。
|種別ID|種別|顧客ID|顧客名|売上日|伝票No|営業所|担当者|商品名|売上|原価|仕入先ID|仕入先名|仕入日|
|--:|:--:|--:||:--|:--:|--:||:--|:--:|

伝票Noのみで連結すると仕入先名がひとつになってしまいます。
うまくひとつのテーブルに表示する方法はありますでしょうか。
宜しくお願い致します。

追伸:hatena19様 先日教えていただいた正規化の方法、今後お役に立てさせていただきます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sazi

2020/04/10 02:08 編集

先ず、売上と仕入を突合させる項目は何ですか?(伝票Noだけでは1:1にならない) 次に、「伝票Noのみで連結すると仕入先名がひとつになってしまいます。」とは? 売上明細を伝票№でグルーピングしても1:Nになるはずですし。 最後に、明細 対 明細の結果にしたいのでしょうか?
tkyk.

2020/04/10 07:33

sazi様 お世話になります。 売上と仕入を結合させる項目は伝票Noで行いたかったのですが先に書いた通り仕入先がひとつになってしまうためうまく行かなかったです。 本来はボールペン、ハサミ、トナーで仕入先がそれぞれ違うためそれぞれの仕入先を表示したいのですが伝票Noで結合するとボールペンの仕入先の「足立鉛筆㈱」だけになってしまいます。 (ハサミもトナーも足立鉛筆㈱になります。) 結果の表示は上の売上明細に仕入先、仕入日を追加してひとつのテーブルに表示したいだけです。 Access初心者のため答えが適切ではないかもしれませんが、何卒宜しくお願い致します。 他にも質問があればお願いします。
sazi

2020/04/10 07:37

> 伝票Noで結合するとボールペンの仕入先の「足立鉛筆㈱」だけになってしまいます。 いや、SQLで行う分にはそんな風にはならないですよ。逆に件数が増えるはずです。 そうしない為にも、伝票No以外の結合条件が必要になります。 質問のサンプルだと、(伝票No、商品名)という所ですが。
tkyk.

2020/04/13 10:24

sazi様 お世話になります。 色々と試して売上と仕入を結合したテーブルが出来ましたが検索結果を表示するのに物凄く重たくなる(15秒ほど)ため諦めました。 売上明細と仕入明細のテーブルをそれぞれ別運用することにします。 色々とアドバイスいただきありがとうございました。 返信がおそくなりすみませんでした。 ちなみにもうひとつお伺いしたいことがありますので別に質問させていただきます。
guest

回答2

0

ベストアンサー

伝票に仕入先って必要ですか?
その商品をどこから仕入れているかを管理するなら、(商品コード、仕入先コード)のテーブルを別にした方が良いかと思います。

どこまで厳密に管理するかによりますけど、仕入先と得意先は商品およびその在庫を軸にして、売上伝票と仕入伝票によって管理するのが一般的です。

投稿2020/04/06 00:49

sazi

総合スコア25138

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tkyk.

2020/04/06 03:59

sazi様 コメントありがとうございます。 伝票(納品書)に仕入先は不要です。 現在作成したいのは、別の商品管理ソフトからエクスポートされた売上一覧と仕入一覧のExcelを Accessを使って売上と仕入をひとつのテーブルにまとめたいのです。 宜しくお願い申し上げます。
sazi

2020/04/06 04:10

だったら、正規化を絡めても意味が無さそうなので、その売上一覧と仕入一覧のレイアウトと求めたい結果で質問された方が良いと思います。
tkyk.

2020/04/06 05:04

sazi様 おっしゃる通りです。 質問内容が分かりにくかったです。すみません。 売上一覧、仕入一覧のレイアウトで後日再度質問させていただきます。 その際、改めてご意見いただければ幸いです。 宜しくお願い致します。
guest

0

一つの取引(伝票)に対して複数の商品がある。
このような関係のデータを一対多の関係といいます。

このような場合、テーブルは下記のようにします。

売上履歴

伝票No得意先ID売上日
100112020/04/05

伝票No 主キー
得意先ID 得意先マスタとリンクするキー(外部キー)

売上明細

伝票No伝票No2商品ID
10011A1
10012B2

伝票No と 伝票No2 で複数フィールド主キー
商品ID 商品マスタとリンクするキー(外部キー)

得意先マスタ

得意先ID得意先名
1佐藤商事

得意先CD 主キー

商品マスタ

商品ID商品名仕入先ID
A1ボールペン1
B2鉛筆2

商品ID 主キー
仕入先ID 仕入先マスタとリンクするキー(外部キー)

仕入先マスタ

仕入先ID仕入先名
1鈴木商会
2山本工業

上記のような感じになります。(設計の一例です。)

クエリを新規作成して、上記のテーブルを追加して、各テーブルの主キーと外部キーを結合します。
マスタテーブルからは主キー以外のフィールドを表示させます。売上履歴は全フィールド、売上明細は主キー以外のフィールドを表示させます。

これで、各テーブルのデータを一つに纏めて表示できます。

伝票No伝票No2得意先ID得意先名売上日商品ID商品名仕入先ID仕入先名
100111佐藤商事2020/04/05A1ボールペン1鈴木商会
100121佐藤商事2020/04/05B2鉛筆2山本工業

投稿2020/04/05 12:16

hatena19

総合スコア33620

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tkyk.

2020/04/06 03:53

hatena19様 お世話になります。 今回も詳しく教えていただきありがとうございます! 今夜か明日作成してみます。 またご報告申し上げます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問