出産前後の痔にはご注意!

Accessの中では非常に基本的な事ですので恐縮ですが、実際にデータベースを作成していて上手くいかないものでアドバイスをいただければ助かります。
使用バージョンは未だにAccess97です・・・

2つのテーブルを使用して顧客の管理を行おうと考えています。
1つめのテーブルは「顧客情報」
2つめのテーブルは「保有商品」
といったもので
「顧客情報」テーブルには「顧客番号」「顧客名」「顧客住所」
「保有商品」テーブルには「購入日」「購入商品」
をまとめたいと思います。

入力フォームには
---------------------------------------------------
「顧客情報」テーブル
「顧客番号」「顧客名」
「顧客住所」
---------------------------------------------------
「保有商品」テーブル
「購入日」「購入商品」
「購入日」「購入商品」
---------------------------------------------------
といった単票形式の1つのフォームで作成を考えています。

上記のデータベースを作成するにあたって効率的なリレーションシップやクエリーなどをご教授していただけませんでしょうか。

よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

顧客がどういう商品を持っているかということを管理したいのですね


この場合顧客と商品は多対多の関係になるでしょうから
テーブルが2つでは表現できません
もうひとつ商品情報というテーブルを作ってください

「商品情報」(商品番号、商品名、・・・)
「保有商品」は下のようになります
「保有商品」(顧客番号、商品番号、購入日)

リレーションシップは顧客情報と保有商品が一対多、商品情報と保有商品も一対多で
顧客情報と商品情報が多対多となります

入力フォームは
顧客毎に入力したければ顧客情報から作ったフォームに保有商品をサブフォームとして嵌め込みます
商品毎に入力するときには書品情報から作ったフォームに保有商品をサブフォームとして嵌め込みます

以上は多対多の関係の場合の定型です
    • good
    • 1
この回答へのお礼

CHRONOS_0 さま
親切丁寧なご教授ありがとうございました。
まさにアドバイスをいただいた内容を作成したいと考えておりました。
一晩、「多対多」と「中間テーブル」について考えた結果、希望する動作をするデータベースを作成する事ができました。
データベース構築に関しては非常に基本的なものだったのでしょうが「多対多」などの概念が無かった為、恥ずかしながらお聞きいたしました。
今はこのような有益な情報が共有、もしくはQ&Aが行えて非常に便利になったものだと感謝しております。
今回はありがとうございました。

お礼日時:2006/11/21 14:56

お考えの2つのテーブルだけでは何をしたいのか分かりません。


多分取引のテーブルを追加して在庫管理、販売管理システムを目的とする

データベースの考え方は
マスターデータ(顧客、商品)トランザクションデータ(発注、購入、受注、売上)の処理になりますが、いきなりデータベース構築となると大変です。

最初はやはり、Access起動時のウィザードから入り、注意深く質問にに答えていくのが良いかと思います。

もしくはエクセルで(ワークシートは一つだけ、顧客名等何度も入力)データを作成して、これをAccessでインポート処理すると、インポートの過程で質問に注意深く答えていくことでデータベースを理解できると思います。

項目は後で追加できますので全て網羅する必要はありません
    • good
    • 0
この回答へのお礼

非常につたない質問内容でもうしわけありません。
「CHRONOS_0」さまからのアドバイスで希望する動作を行えるデータベースを作成する事ができました。
データベースを作成する上では非常に初歩的な質問内容で反省しております。
次に質問する事があるようでしたら他の方が見て参考になるような内容とするように心がけます。
ありがとうございました。

お礼日時:2006/11/21 15:00

このDBで実際に何をしたいのかよく分かりません。


最終的にどんな「表」を作りたいのかが分かれば自ずとリレーションシップやクエリーを作ることができると思います。

「保有商品」テーブルとは、会社が保有している商品のことですか?

顧客がどんな商品を、何時、いくらで購入したのか
をデータベース化したいのなら、更に新たなテーブルが必要に成るでしょう。
    • good
    • 0
この回答へのお礼

非常につたない質問内容でもうしわけありません。
「CHRONOS_0」さまからのアドバイスで希望する動作を行えるデータベースを作成する事ができました。
データベースを作成する上では非常に初歩的な質問内容で反省しております。
次に質問する事があるようでしたら他の方が見て参考になるような内容とするように心がけます。
ありがとうございました。

お礼日時:2006/11/21 15:00

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qaccessで顧客管理をする場合のテーブルの作り方

accessを始めて2週間の初心者です。
以前少しですが、桐を使ったことがあります。

accessで顧客管理をしたいと考えています。
リフォーム等でお客様とのやりとりを記録するのが目的です。

・担当者テーブル
・顧客テーブル
の二つを作りましたが、対応履歴のテーブルをどのように作ったらよいかわからず困っています。

対応履歴は1回の対応で1レコードとするのがよいのでしょうか?
それとも1つの物件を1つのレコードと考えて、対応1、対応2のように書いていくのがよいのでしょうか。
1つの物件でだいたい10前後のやりとりが、1カ月ほどに渡って行われます。

質問内容が分かりづらかったら申し訳ありません。
回答よろしくお願いいたします。

Aベストアンサー

>一人の顧客に物件が2つ、3つと複数になる場合があるので、
もうひとつテーブルが必要ですね
物件テーブル
物件ID、顧客ID,物件名・・・
クエリを作成する場合に、4つのテーブルを配置して
それぞれのIDを線でつないでください。
入力の作業、集計や抽出の作業も、作成したクエリから実行します。

Qaccessの勉強ができるサイトは?

access初心者です。
データベースを作ろうとしているのですが、
基本がしっかりと身についていないので、
なかなか作れません。
本をみながら勉強してはいるのですが、
チュートリアル本ではないので、(田舎なので売ってない)
基本がよくわかりません。
お薦めのサイトがありましたら、教えてください。

Aベストアンサー

これなら、
魔法使いの開発工房が有名です!
非常に内容がしっかり出来ていて、これだけあれば充分な知識は身につけられます。

http://www.mahoutsukaino.com/

ちなみに、これで学習すれば本はいらないと思う。

参考URL:http://www.mahoutsukaino.com/

QACCESS クエリの抽出条件で全てを抽出したい

初歩的な質問で申し訳ありません。

売上入力フォームのオプショングループに配置した3つのトグルスイッチによって、クエリからデータを抽出したいのですが、

オプション値1 全て 
オプション値2 現場
オプション値3 得意先

IIf([Forms]![F_売上入力]![fr_2]=2,"現場",IIf([Forms]![F_売上入力]![fr_2]=3,"得意先","*"))

と抽出条件に入力しましたが、全てのみ上手くいきません。単純なミスとは思うのですが、どうしても出来なくて。。。他に全てを表示させる方法等ありましたら、是非、お知恵を貸して下さい。

Aベストアンサー

IIfの前にLikeをつけてください。つまり、
Like IIf([Forms]![F_売上入力]![fr_2]=2,"現場",IIf([Forms]![F_売上入力]![fr_2]=3,"得意先","*"))

QACCESSのフォームからデータの追加ができない

現在Accessの基本を勉強中です。
テーブルを元にフォームを作成し、フォームから新しく名前や会社名などを直接入力し、追加できるようにしたいです。
ところがフォームから入力を行うと、内容が追加されず一番最初に登録した人の名前が書き換わるだけになります。
どのように新しくデータを追加できるようになるのでしょうか?
まったくの初心者なので、どの機能を使えばよいか戸惑ってます。
どうかよいご意見をお願い致しますm(__)m

Aベストアンサー

データを追加する場合は、新規レコードに移動(=新規レコードを選択)する必要があります。

最も簡単なのは・・・
そのフォームの最下方に、レコードセレクタ(『レコード: [|<][<][   1][>][>|][*]/1』といった
感じの部分)が表示されていたら、そこで『[*]』のボタンを押すと、新規レコードに移動できます。
(もしレコードセレクタが表示されていないようなら、フォームのプロパティシートを開いて、
 『書式』タブの『レコードセレクタ』の設定値を「はい」にして下さい)

他には、
 ・フォーム自体を入力専用にする
 (フォームのプロパティシートの『データ』タブで『データ入力用』を「はい」に設定:
  既存のレコードは表示されなくなります)
 ・レコード移動用のコマンドボタンを設置する
 (フォームをデザインビューで開き、ツールボックス(矢印や、新規のテキストボックス等を
  設置する際に使用するツールバー)の左から二番目にあるウィザードボタンが押された
  状態にして、新規コマンドボタンを設置すると、簡単に作れると思います)
といった方法があります。

データを追加する場合は、新規レコードに移動(=新規レコードを選択)する必要があります。

最も簡単なのは・・・
そのフォームの最下方に、レコードセレクタ(『レコード: [|<][<][   1][>][>|][*]/1』といった
感じの部分)が表示されていたら、そこで『[*]』のボタンを押すと、新規レコードに移動できます。
(もしレコードセレクタが表示されていないようなら、フォームのプロパティシートを開いて、
 『書式』タブの『レコードセレクタ』の設定値を「はい」にして下さい)

他には、
 ・フォー...続きを読む


人気Q&Aランキング