Accessで販売管理をしています。
以下のテーブルを作成し(*は主キーです)、
[売上T] [商品M] [顧客M] [受注T]
*売上NO *商品ID *顧客ID1 *受注NO
商品ID 商品名 *顧客ID2 商品ID
日付 顧客ID1 顧客名 受注日
金額 顧客ID2 受注金額
受注先1
受注先2
参照整合性にチェックを入れリレーションでつないでいます。
リレーションシップは下記のとおりです。
[売上T]商品ID―[商品M]商品ID―[受注T]商品ID
[商品M]顧客ID1及び2―[顧客M]顧客ID1及び2―[商品M]受注先1及び2
ここで顧客と受注先が重複することもあるので、顧客Mから顧客ID及び受注先IDの2つのテーブルにリレーションシップを設定しているのですが、
クエリで [受注T]受注NO及び受注金額、[顧客M]顧客名で抽出したところ、
5000件以上[受注T]にデータがあるはずのものが、1200件ほどしか抽出できませんでした。
ちなみに[顧客M]と[受注用顧客M]というまったく別のテーブルを作成し、
[商品M]受注先1及び2―[受注用顧客M]顧客ID1及び2
とリレーションを作成し、クエリで抽出するとうまくいきました。
しかしこの方法だと、[顧客M]と[受注用顧客M]という2つのテーブルを管理しなければならなくなるので面倒です。
そこで質問です。
同じテーブルの2つの項目対他のテーブルの1つの項目とでは、うまくリレーションが設定できないのでしょうか。
もし出来ない場合、[顧客M]と[受注用顧客M]の2つのテーブルを管理しなければならない訳ですが、
なんとか簡単に管理できる方法(ひとつのテーブルを変更すると簡単にもうひとつが変更できる設定)はないでしょうか。
非常にわかりにくく長い文章で申し訳ありません。
VBA等はさっぱりわかりませんので、普通の設定の範囲内で、できるかどうかよろしくお願いします。
No.3ベストアンサー
- 回答日時:
リレーションシップとクエリでの結合を混同していますね
>ちなみに[顧客M]と[受注用顧客M]というまったく別のテーブルを作成し
>[商品M]受注先1及び2―[受注用顧客M]顧客ID1及び2
>とリレーションを作成し、クエリで抽出するとうまくいきました。
クエリでこのように結合すればいいだけですから、[受注用顧客M]など作らず
クエリデザインビューに顧客Mを2度ドロップすればいいのです
回答ありがとうございます。
>リレーションシップとクエリでの結合を混同していますね
どうやらそのようだったようです。
仰る方法で試してみたのですが、
デザインビューで作るとなぜか顧客名だけちがいその他は同じようなデータが重複し、
うまく作れなかったので、ウィザードから作成し、SQLビューで
(顧客M.顧客ID1=装置M.顧客ID1)を(顧客M.顧客ID1=装置M.受注先1)に直すとうまく受注先を抽出することが出来ました。
なぜデザインビューでうまく結合できないのか、疑問は残りますが。
No.1
- 回答日時:
1、各テーブルの主キーは[ID]、[XXNO]で統一。
2、連結列は、[テーブル名_主キー列名]で統一。
<商品M>
ID___________長整数
商品名_____テキスト型
<顧客M>
ID___________長整数
顧客名_____テキスト型
<受注T>
受注NO____長整数
受注日_____日付/時刻型
顧客M_ID__長整数
商品M_ID__長整数
受注金額__通貨型
<売上T>
売上NO___________長整数
売上日____________日付/時刻型
受注T_受注NO__長整数
受売上金額______通貨型
実際にデータを登録してみます。
<商品M>
ID___商品名
1____A商品
2____B商品
<顧客M>
ID___顧客名
1____鈴木 一郎
2____中村 主水
<受注T>
受注NO___受注日_________顧客M_ID____商品M_ID___受注金額
101________2007/09/10___鈴木 一郎___A商品_______\2,000
102________2007/09/11___中村 主水___B商品_______\3,000
<売上T>
売上NO___売上日_________受注T_受注NO___売上金額
101________2007/09/18___101_________________\2,000
102________2007/09/19___102_________________\3,000
これじゃ、誰に何を売上げたのか判りませんので、<売上_クエリ>を作成してみます。
売上NO___売上日_________顧客名________商品名___売上金額___受注NO
101________2007/09/18___鈴木 一郎___A商品_____\2,000______101
102________2007/09/19___中村 主水___B商品_____\3,000______102
問題は、<受注T>=<売上T>という設計にするか否かでしょう。
・<受注T>参照方式として開発できるか否か?
・<受注T>非参照方式とし<受注T>の存在を必須としない方が利便性が高いか否か?
<売上T>
売上NO___________長整数
売上日____________日付/時刻型
顧客M_ID__長整数
商品M_ID__長整数
受売上金額______通貨型
と、このように、マスターはマスター、入力テーブルは入力テーブルとテーブルを明瞭に分ければ・・・。
回答ありがとうございます。
とてもわかりやすく書いてくださりありがとうございました。
この方法は手間はかかりますが、わかりやすく間違えることはないですね。
まだテーブルの正規化等わかっていないのでどの方法がいいのかわかりませんが、よく理解して検討したいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- その他(データベース) accessについて 2 2022/05/31 16:58
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- その他(開発・運用・管理) マイクロソフト製品のライセンス販売で困ってます 1 2022/06/30 19:52
- Access(アクセス) Access IF文でテーブルに存在しない場合の処理について 2 2022/10/10 18:09
- その他(データベース) accessでのフォームの連携について 2 2022/06/14 00:45
- 会社・職場 うちはメーカーで、販売店に商品委託してます。販売店Aが本体商品を顧客に提示しましたが、その顧客は販売 1 2022/10/07 09:06
- その他(セキュリティ) fx口座開設し疑問があったのでfx業者のサポートの人にログインIDを教えてる所を間違ってログインパス 1 2022/03/24 17:33
- Excel(エクセル) エクセル 多数のファイルから値を抜き出したい 4 2022/12/12 16:49
- メンズ 男性に質問です。女性で言うバーキンに匹敵するものを教えてください 3 2022/12/12 09:34
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「直需」の意味を教えてください
-
作番ってどういう意味でしょうか?
-
ACCESSで、DMax関数の条件の書き方
-
受注受付期間とはなんですか?...
-
「失注」の意味を教えてくださ...
-
大量の受注メールをデータベー...
-
Excel 2019 のピボットテーブル...
-
エクセルVBAで5行目からオート...
-
Accessでテーブル名やクエリ名...
-
Oracle 2つのDate型の値の差を...
-
Access テキスト型に対する指定...
-
INSERT INTO ステートメントに...
-
Accessでテーブルの値をテキス...
-
FROM の中で CASE を使えるでし...
-
変数が選択リストにありません
-
Accessのクエリでデータの入力...
-
異なるサーバのDBデータ同士を...
-
ACCESSのクエリで集計で、先頭...
-
セルの右クリックで出る項目を...
-
Accessレコードの追加や変更が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「直需」の意味を教えてください
-
作番ってどういう意味でしょうか?
-
「失注」の意味を教えてくださ...
-
受注受付期間とはなんですか?...
-
ACCESSで、DMax関数の条件の書き方
-
アクセスのクエリで、前回に入...
-
マクロ転記で指定した列の最終...
-
Access:サブフォームのレコー...
-
ACCESS 選択した値を別...
-
アクセスで営業日を計算させる...
-
データシート形式のサブフォー...
-
ACCESS2000の帳票フォーム詳細...
-
access 1対1と1対多のテーブ...
-
フォーム入力、更新後処理で指...
-
【MS Office】変更したデータを...
-
会社 ファイルの収納
-
エクセルマクロVBA初心者です。...
-
Access PDF作成-日付フォルダー...
-
Access、同じテーブルの2つの項...
-
ACCESSを活用して商品変...
おすすめ情報