Access 2013 vba
今工事のための材料の注文履歴を保存するテーブルと画面を作っています。
この商品名や、単価、仕入れ値などのデータは、管理テーブルを作成してそこで管理し、そこから商品IDを選択すると、注文履歴の画面にIDだけがセットされるような作りにしようと考えています。
【注文内容の入力画面A】
・注文日
・受注ID
・商品ID
・注文先ID
・単価
・数量
・単位
【商品管理テーブル】
・商品ID
・メーカーID
・単価
・品番
このようにすると、商品管理のテーブルのレコードを勝手に削除されたりした場合に、大変な事になることを考えると躊躇してしまいます。
商品管理のテーブルはあくまでも参照にとどめて、その商品名や品番などは、注文履歴を保存する画面のフィールドに保存したほうが良いか、迷っています。
この点で良いアドバイスがあれば、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
入力画面(フォーム)とテーブル設計は別に考えるようにしましょう。
通常は、注文履歴のテーブルに、商品ID(外部キー)以外の商品データ(商品名や品番)は保存すべきではないです。
履歴入力画面からは、商品管理テーブルは参照だけで変更できないような設計にすれば問題ないので。
また、リレーションシップで「参照整合性」にチェックを入れておけば、履歴テーブルのデータと紐づいているレコードをマスターから削除しようとすると警告が出て削除できないようになります。
ただし、例外として、例えば「単価」が頻繁に変わるように場合は、単価を注文履歴の方にも格納するということはあります。
注文履歴入力画面(フォーム)での商品名や品番の参照は、コンボボックスを利用すると簡単にでき、また、入力しやすいものになります。
■T'sWare Access Tips #360 ~コンボの2列目をテキストボックスに表示する方法(コントロールソース版)~
http://www.tsware.jp/tips/tips_360.htm
ご回答ありがとうございました。
このコンボボックスの値を簡単に参照できるようにすれば、とても便利ですね。
早速利用させて頂きたいと思います。
あと、単価はその時〃で変わりますので、注文履歴テーブルに単価というフィールドを作り、そこにも保存していきたいと思います。しかし、仰るとおり、その他の項目、品番とか、そのようなフィールドは参照するというやり方にします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- その他(データベース) accessについて 2 2022/05/31 16:58
- その他(データベース) accessでの請求管理について 2 2022/06/13 21:51
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Amazon AmazonでSSDを返品しました。返品しても購入履歴のところは返品完了にならないのですか?? 3 2023/01/05 17:38
- Excel(エクセル) Excel 関数 vlookupなどの使い方について質問です。 シート1に品番、商品名、単価、発注条 6 2022/06/15 19:16
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
- Amazon アマゾン 7 2022/06/11 11:03
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- その他(プログラミング・Web制作) パイソンでのプログラミングについて 3 2022/08/11 20:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessでテーブル名やクエリ名...
-
Accessクエリでの、LIKE条件
-
ACCESSに同時アクセス(編集)を...
-
Accessの追加クエリで既存のテ...
-
パススルークエリをテーブル作...
-
時間の足し算
-
デザインビューで、連結式 を...
-
2つのテーブルを比較して一致し...
-
INSERT時にデータ登録とmaxの発...
-
ツリー構造をRDBで表現するには?
-
Accessでvlookupみたいなことは...
-
テーブルを、たとえそれが存在...
-
Accessレコードの追加や変更が...
-
3つの表を1つに縦に連結する
-
SQLで条件指定結合をしたいがNU...
-
SQLで日付を条件に削除したい
-
リンクテーブルを CopyObject ...
-
フォームの計算がテーブルに反...
-
ACCESSで同じテーブルに...
-
ACCESS2000での円グラフ作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでテーブル名やクエリ名...
-
Accessレコードの追加や変更が...
-
ACCESSに同時アクセス(編集)を...
-
access テーブル内のレコード...
-
3つの表を1つに縦に連結する
-
Accessでvlookupみたいなことは...
-
Accessの追加クエリで既存のテ...
-
Accessクエリでの、LIKE条件
-
Accessでテーブルからテーブル...
-
ツリー構造をRDBで表現するには?
-
デザインビューで、連結式 を...
-
ACCESSで指定されたテーブルか...
-
2つのテーブルを比較して一致し...
-
リンクテーブルを CopyObject ...
-
SQLで日付を条件に削除したい
-
SQLで条件指定結合をしたいがNU...
-
時間の足し算
-
パススルークエリをテーブル作...
-
ODBCで接続するとDBに変更/追加...
-
INSERT時にデータ登録とmaxの発...
おすすめ情報