- ベストアンサー
私が考えたAccessのテーブル設計に問題がないか教えてください。
Access2003を使用しています。 前任者が作成したデータベースに修正を加えています。 顧客からの問合せを記録しているT対応履歴という名のテーブルがあります。 対応履歴ID・・・主キー(オートナンバー型) 顧客No 顧客名 商品番号 問合せ区分 問合日 完了日 弊社担当者 内容 原因 対応 備考 などがあります。 その中に修理料金が発生し、修理を依頼した取引先との記録も残すフィールドを加えました。 でも、これは1レコードにつき全て発生するというわけではなくて、どちらかと言えばまれです。 内容としては、次のものがメインになります。 数量 実施日 請求日 支払日 入金確認日 取引先ID・・・取引先テーブルとつながっているため必要 テーブルの設計をするのがはじめての頃だったので、対応履歴の中に加えてしまいました。 別々のテーブルにわけることも考えたのですが、フォームやレポートのリンクがうまくいかなかったので結局一緒にしてしまいました。 やはりこのような場合は、テーブルをわけたほうがよかったのでしょうか? そのように思うのですが、設計の自信がないため確認させていただきたいのです。 今のところ、その料金が発生した場合のデータは10件ほどです。 今からでも、テーブルをわけたほうがよいのでしょうか? 2ヵ月後ぐらいには料金が発生するような事例が増えると言われています。 直すなら今のうちだと思っています。 設計にお詳しい方、どうぞよきアドバイスをいただけないでしょうか? よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
お礼
分割させました。今のところはうまく動作しているように見えます。 前に設計をたてたときフォームやレポートがうまくいかなかったのは、ご推測いただいてますように結合の仕方を間違えていたからだと思います。 結合の仕方がいまだにしっかりと理解できていなくて、望む結果が得られなくて、VBAが必要なのかもしれないなどと思ってしまうのですが、たいていは結合の仕方を正しく行えば解決できます。 アクセスはリレーショナルシップが大事だとつくづく思いますね。 まだまだ理解できていないので細かく教えていただいて本当に助かります。 おかげで別の設計でもつまづいていたのですが、結合をいろいろと変えて望みのクエリを作ることができました。 ご回答ありがとうございました!