Microsoft Access 掲示板

テーブルのコード設計 / 1

5 コメント
views
4 フォロー
1

方法としては2つあります。

  • ひとつは、変更のあるデータは別テーブルにして変更履歴として保存しておく方法。
  • もうひとつは、取引情報のテーブルに、顧客のデータも重複して保存しておく方法。

前者の設計例(一例ですので、実態にあわせて修正の必要あり)

顧客マスター
 顧客コード 主キー 
 顧客名
 ・・・その他変更の可能性のないフィールド

顧客情報履歴
 顧客情報履歴CD 主キー
 顧客コード
 変更日
 電話番号
 担当者名
 ・・・その他変更の可能性あるフィールド

取引情報
 取引情報ID 主キー
 顧客コード
 顧客情報履歴CD
 取引日
 取引内容
 ・・・・

顧客情報履歴CD は入力フォームのテキストボックスの規定値に最新値を設定しておく。(DMax関数で)

※顧客情報履歴 は 顧客コード と 顧客サブコード で複数フィールド主キーにする方法もあります。


後者の設計例

顧客マスター
 顧客コード 主キー 
 顧客名
 変更日
 電話番号
 担当者名
 ・・・・

取引情報
 取引情報ID 主キー
 顧客情報履歴CD
 取引日
 取引内容
 電話番号 変更の可能性のあるフィールドは重複して持たせる
 担当者名 変更の可能性のあるフィールドは重複して持たせる
 ・・・・

フォームで入力時に、変更の可能性のあるデータは、VBAでマスターの値を代入する。

通報 ...