- ベストアンサー
Accessで、複数のテーブルで随時、レコードを増やすには…
Accessを使って、複数のテーブルにリレーションを付けて顧客データベース作りました。 顧客は随時増えていくので、一つのテーブルにレコードを追加したときに、他のテーブルのレコードもそれに連動して、増やす方法はないでしょうか? 現在は、各テーブルに予め十分な(余分な)顧客番号を設定し、顧客増加に対応しています。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ツール→リレーションシップで、テーブル1とテーブル2を顧客Noで1対1結合しておきます。 クエリーを新規作成、テーブル1とテーブル2を追加すると、勝手に顧客Noをキーに結合されるので、テーブル1の全フィールドとテーブル2の顧客No以外の全フィールドをクエリーの列に追加し、「クエリー1」の名前で保存して閉じます。 クエリー1を実行してレコードを追加入力するたびに、両方のテーブルに追加されていきます。 頑張ってください(^o^)丿
その他の回答 (2)
- Gin_F
- ベストアンサー率63% (286/453)
> (テーブル1) > 顧客No【主キー】 > > (テーブル2) > 顧客No【主キー】 このテーブル構成は、1:1の関係ですよね? こういった構成のシステムでは、のちのちまで苦労することになると思います。 きちんと正規化をしてやれば、通常はこのような構成が必要になることはほとんど ないと思いますけど。。。 [ACC2002] データベースの正規化の基礎 http://support.microsoft.com/default.aspx?scid=kb;ja;283878&Product=accJPN あえて、このような構成にしているのであれば、無視してください (^^ゞ
- Gin_F
- ベストアンサー率63% (286/453)
> 顧客は随時増えていくので、一つのテーブルにレコードを追加したときに、 > 他のテーブルのレコードもそれに連動して、増やす方法はないでしょうか? どういったテーブル構成になっているのでしょうか? そのようなことを実現させたい場面というのが、思い浮かばないのですが。。 とりあえず、追加クエリなんかを実行させればいいとは思いますけど。
補足
早速のご回答ありがとうございます。 たとえば、テーブル構成は… (テーブル1) 顧客No【主キー】 フィールド1 フィールド2 フィールド3 …… (テーブル2) 顧客No【主キー】 フィールドA フィールドB フィールドC …… とした場合、テーブル1の顧客Noを新たに追加した時に、テーブル2の顧客Noも連動して、追加されるようにしたいのです。
お礼
ありがとうございました。できました! …ただ、20個ある各テーブルのフィールドの数が30以上あるので、大丈夫かどうか。