ACCESS初心者です。
ACCESS2010 OSはWindows7です。
パソコンはアクセスとエクセルマクロの入門書を読み終えたレベルです。
只今、注文実績管理表を作成するために、必要な情報を複数のテーブルに
分解してコード化していますが、関連付けできない為にデーターの参照ができません。
対応方法があれば教えていただくようお願いします。
どうしても実現したいので、テーブルの設計が間違えているかもしれませんが写真を掲載します。
■現在の状況と質問
A)商品だけで300アイテムあります。リストを見ながら商品名と金額を入力するのは、膨大な時間を奪われるので、発注書に書かれている。4ケタの商品番号と注文数量の入力のみに
したい。その後に入力した4ケタの数字でデーターを集計し、分析業務につなげていきたい
B)【C】と【D】は注文書のイメージです。ひとり最大50個の商品を一枚の注文書で
発注します(ひとりの注文が1か月に1~3回)。一回の注文で最大、50品目のデーターを
格納することは、アクセスで可能なのでしょうか?
C)発注実績の抽出ですが、以下内容で実行したいです。どうすれば可能でしょうか?
テーブルの設計と関連付け、リレーションの設定がわかりません。
i)個人別の1か月注文実績。商品名、注文合計数、合計金額を商品別に表示
ii)個人別の注文合計金額(月、年間)の集計。
iii)商品Aの注文実績(月、年間)
D)リレーションの状態。
【A】の(2)と【C】の(2)
【B】の(2)と【D】の(3)、(5)、(7)、(9)、(11)、(13)、(15)、(17)、(19)・・・
【C】の(1)と【D】の(2)のみ参照整合性がとれています。
E)商品テーブルのドリルボタンを押して、下の階層を見ようとすると、画像のような
メッセージがでます。これはなんなのでしょうか?
■現在の状況を列挙します。
【A】顧客テーブル
(1)顧客ID(オートナンバー・・・長整数型)
主キー(2)発注コード(テキスト型)
※発注コードは『英数字』のためテキスト型。リンク先も『テキスト型』
(3)氏名(テキスト型)
【B】商品テーブル
(1)商品ID(オートナンバー・・・長整数型)
主キー(2)注文番号(数値型・・・倍精度浮動小数点型)
(3)品名(テキスト型)
(4)金額(通貨型)
【C】注文テーブル
主キー(1)注文ID(オートナンバー・・・長整数型)
(2)日付
(3)発注コード(テキスト型)
※発注コードは『英数字』のためテキスト型。リンク元も『テキスト型』
【D】注文明細テーブル(注文番号は全て4ケタの数字です。重複Noはありません)
主キー(1)注文明細ID(オートナンバー型・・・長整数型)
(2)注文ID(長整数型)
(3)注文番号1(数値型・・・長整数型)
(4)数量(注文番号1)
(5)注文番号2
(6)数量(注文番号2)
(7)注文番号3
(8)数量(注文番号3)
(9)注文番号4
(10)数量(注文番号4)
・
・
・※注文番号50まで続く・・・
No.1ベストアンサー
- 回答日時:
一般的には、
【A】顧客テーブル
主キー(1)顧客ID(オートナンバー・・・長整数型)
(2)氏名(テキスト型)
※同一顧客で複数の発注を受けたら同じ顧客IDを使うように考えます。
(発注コードは入れるべきでない)
【B】商品テーブル
主キー(1)商品ID(オートナンバー・・・長整数型)
(2)品名(テキスト型)
(3)単価(通貨型)・・・定価があるなら設ける。
※同一商品で複数の発注を受けたら同じ商品IDを使うように考えます。
(注文番号は入れるべきでない)
【C】注文テーブル
主キー(1)注文ID(オートナンバー・・・長整数型)
(2)日付
(3)発注コード(テキスト型)
※発注コードは『英数字』のためテキスト型。リンク元も『テキスト型』
(4)顧客ID・・・顧客との紐付けはこの項目で行う。
【D】注文明細テーブル(注文番号は全て4ケタの数字です。重複Noはありません)
主キー(1)注文明細ID(オートナンバー型・・・長整数型)
(2)注文ID(長整数型)
または
(1)注文ID(長整数型)
(2)枝番・・・1から連番
主キーは(1)と(2)のセット
(3)注文番号(数値型・・・長整数型)
(4)商品ID
(5)数量(注文番号1)
(6)単価(通貨型)・・・商品マスタの単価はいつでも同じではないので、注文と一致しないことあり。
金額は、数量×単価で求めるか、別途(7)金額を設けるか。
(金額設定の仕方によりけりで、3本1000円とかがあるなら、(7)金額も必要。)
注文明細テーブルは、「ひとり最大50個の商品を一枚の注文書で発注します」に対応して、
1枚の注文書で、最大50レコード作ります。
リレーション
【A】(1)-【C】(4)
【B】(1)-【D】(4)
【C】(1)-【D】(1)か(2)
というふうにしますが。
(まずは、何でこういう設計にするのか、現状との違いから話をしていったほうが
いいのかなと思います。
⇒現状のほうがいいというのなら、それで話を進めてもいいのですが、
後の実績抽出は処理が面倒になると思っておいてください。)
この回答への補足
さっそくのご回答ありがとうございます。
通常のテーブルの設計方法について大変参考になりました。ありがとうございます。
なぜ、今回このような設計にしたのかを補足したいと思います。
■顧客テーブルに発注コードを入れていた理由の説明
ベースにしてたのはエクセルの発注書です。顧客は固定なので、発注業務を迅速におこなう為に「英数字」の会員番号をVLOOKUP関数を使い名前と商品の手配方法を、別のシートから参照させていました。※現時点での顧客というのは、当社の社員になります。所属グループが複数あり既存のコードを使わないと運用ができない母体があったため、『A101』とか『B101』という会員番号を使わざる得ない理由になっています。
■商品テーブルと注文テーブルと注文番号をいれていた理由
これも同じくエクセルの商品テーブルに、4ケタの発注番号を重複しないように設けて、
別の注文書に数字を入力するだけで、商品名と商品名詳細が表示されるようVLOOKUP関数で参照するために設定していました。
まずは回答者様のやりかたを実直に行い、アクセスの理解を深め、考察しようと思います。
できれば、今のエクセルのデーターをインポートするだけで実績処理できるような形をイメージしていましたので、そのような方法ができるのであれば、ご教授くださると大変ありがたいです。
大変ご丁寧な回答をありがとうございました。誰でも発注業務をできるように、発注コードと注文番号で発注書を起こせるようにエクセルで、ベースを設計しました。
また将来的には発注カテゴリー(発注書の種別)は3つあります。四ケタの数字で1000~1999まではAという注文書。2000~2999はBという注文書。それいがいの数字3000~9999まではCという注文書に自動的に情報が流れるよう、アクセスで設計したいと考えております。
良い形にしたいのでまずは、実績処理の仕組みをご教授いただけると助かります。大きなフレームで考えて次につなげていきたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) accessについて 2 2022/05/31 16:58
- Excel(エクセル) エクセルデーターの並び替え 5 2022/08/06 09:59
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- Amazon アマゾン 7 2022/06/11 11:03
- 楽天市場 先程のにありがとうございます。ご入金の確認できました。 早速出荷の準備を行いますので、ご安心ください 1 2022/12/21 11:07
- その他(ネットショッピング・通販・ECサイト) krsaidサイトで4点購入しました。12月15日ににありがとうございます。ご入金の確認できました。 1 2022/12/21 09:15
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- Amazon AmazonでSSDを返品しました。返品しても購入履歴のところは返品完了にならないのですか?? 3 2023/01/05 17:38
- その他(ネットショッピング・通販・ECサイト) moonwalkbabyで注文されて届いた方いますか? 2 2023/04/12 23:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
各伝票に対して明細を1行目だけ...
-
商品番号を入力すると、商品名...
-
2つのテーブルを結合して最大値...
-
ACCESSでフォーム上のオブジェ...
-
IDの欠番
-
updateでグループ化
-
LEFT JOIN あいまいな外部結合
-
フィルターかけた後、重複を除...
-
差し込み後、元データを変更し...
-
SQLで特定の項目の重複のみを排...
-
エクセルで最後の文字だけ置き...
-
SELECT 文 GROUP での1件目を...
-
外部参照してるキーを主キーに...
-
SQLで列名を変数にできないでし...
-
INSERT文でフィールドの1つだ...
-
テーブル列数とデータファイル...
-
Exel VBA 別ブックから該当デ...
-
SQLServerで文字列の末尾からあ...
-
Outlook 送受信エラー
-
EXISTSを使ったDELETE文
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
商品番号を入力すると、商品名...
-
LEFT JOIN あいまいな外部結合
-
Accessのフォームで思った順番...
-
2つのテーブルを結合して最大値...
-
特定条件での連番の振り方を教...
-
updateでグループ化
-
IDの欠番
-
orace SQL文のエラー(ORA-0092...
-
エクセルでリピート率
-
各伝票に対して明細を1行目だけ...
-
accessクエリの結果の縦横表示...
-
ACCESSでフォーム上のオブジェ...
-
Word差し込み印刷 数式について
-
文字列のあるキーワードから開...
-
Access 会員番号4桁にする方法
-
正規化の問題
-
アクセスのフォームで連動した...
-
Accessレポート 複数条件での集計
-
ACCESSのテーブル設計と...
-
SQL内での計算に関して
おすすめ情報