- 締切済み
アクセスについて
アクセス初心者です。なので、的を射てない質問かもしれませんが宜しくお願いします。 お客様のデータベースを作りたいと考えています。 入力用フォームで「来店日」を作りたいのですが、 何度も来られる場合、その来た回数分の来店日データがほしいです。 一度だけの入力ならば、何となく分かるのですが、 一つの項目にいくつものデータ(来店日)が重なると、全く分からなくなってきます。 こういう場合は、どういう風に作っていけばいいのでしょうか? ざっくばらんな説明でも構いません。 少しでもヒントになれば、自分で調べれる範囲が増えると思うので。 また、質問内容が分かりにくければ、言って下さい。補足します。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- CHRONOS_0
- ベストアンサー率54% (457/838)
初心者がよく作るやってはいけないテーブルは Excelではよく見かける お客様名 1回目来店日 2回目来店日 ・・・・・ というものです データベースでは [来店日記録](お客様ID、年月日、用件、・・・) [お客様マスタ](お客様ID、氏名、フリガナ、電話番号、・・・) お客様IDでリレーションシップを設定 のようなテーブルにします
- imogasi
- ベストアンサー率27% (4737/17069)
来店データはトランザクション(取引という意味で、DBMsで使う意味でない)でしょう。 2、3回目の来店は、それはそれでレコードを各回増やすほうが良いのでは。 (対する考えは顧客を調べ,都度、1日の来店回数を1加算するやり方) ーー それに入力はどうするの? (1)顧客対面、受電等の時すぐ入力 (1)’顧客IDカードやバーコード読み取りとか (2)伝票等一旦記録したものが出来て、後刻打ち込む。(そうなると手入力ということか。) ーー こういう入り口のインプトシステムと関連して、作業やテーブルを考えてないのは質問者は経験が少ないな。 それで、同一日同一顧客の来店を区別するのは時刻しかない。1日連番を考えるのは、複雑になるだろう。 (1)の場合、受付へ顧客が来た時刻と入力時のシステムから採るNOW関数の時刻は少しズレルかも知れないが、実用に差し障りないでしょう。 ーー 色々統計に加工するのは、後工程にあわして、入力時にはそういう後の統計などのことを、ファイル設計などに余り盛り込まず、素のデータを収集するのが良かろうと思う。そして必要なら後刻定期的に素データから作業して調べる。 ーー マスタとトランザクションとは ●通常では余り変化しない情報(顧客の属性情報。名前なども変わることはあるが、とりあえずそれは言わない)をテーブル化 しかし改名の情報はトランザクションとしてテーブル化する。 ●変化したことそのものを捉えるのが目的の情報(取引履歴)をテーブル化する、を分けて、データを頭の中で整理したら。
単にテーブルを2つすればよいのでは? 顧客テーブルと顧客来店日テーブルに たとえば 顧客テーブルは Keyと顧客名 (keyはユニーク) 来店日テーブルは keyと来店日 (keyはなしまたは重複可) クエリーするときはKeyをリンクさせる。 入力フォームはサブフォームを使用する。 #大雑把な回答ですみませんが
補足
回答ありがとうございます。 >テーブルを2つすればよいのでは… 2つにすれば、何度も「来店日」があっても、どんどん増えていくのでしょうか? 何度も質問、申し訳ありませんがお願いします。
補足
回答ありがとうございます。 imogasiさんが言われている通り、初心者です。 もし、宜しければもう少し砕いて説明していただけないでしょうか? よろしくお願いします。