売上データから期間内のレコードを抽出して請求書をつくります
このときの仕組みは一般的にどうやるものでしょうか?
請求書作成画面で抽出されたレコードにたいして請求書idを付与し、レコードの変更ができないようにするのでしょうか?
請求書テーブル を作ると思うのですが
それには合計請求書や日付など最低限のものをおくだけでしょうか?
いまはEXCELで手動コピペなのでどちらにもデータは残っているので、一度作成した請求書の内容がなにかのはずみで変わることはありません
Accessでは少し不安です
おおよそ思われている通りです。リレーションで調べてみてください。
ACCESS(データベース)では、データそのものはテーブルに保存、データに対する操作(追加、修正、閲覧)はフォーム(専用の画面)を作成して行います。
フォームでは必要な情報のみを表示し、その情報の修正可否も個別に設定できるので、Excelのようにデータが誰でも自由に触れる状態よりもはるかに安全な仕組みを作れますし、必要ならログを取ることもできるでしょう。
正直Excelの何をそんなに信用しているのか疑問ですが、ACCESSを導入するとなれば管理者(技術者)も必要ですし、使う側への教育も必要でしょうから費用対効果を考えてみては?
例えばあとから間違いに気が付きレコードをいじったときに
相手からの要望などで過去の請求書(間違ったままの状態のもの)を発行できなくなりませんか?
EXCELの現状では請求書の分は間違ったままになるので
再発行しても当時と同じものがだせます
それが必要なら「履歴管理をする」ですね。
フォームを通した操作はレコードに反映される前にキャッチできるので、実際には既存のレコードは更新せずに、新規レコードを登録するというようなことができます。
後は必要に応じて必要なレコードを表示できるような仕組みを作っておけばいいでしょう。
というのは具体的にどのようしたらよいのでしょうか?
削除した場合は削除フラグをつけるだけ
修正したら修正フラグをつけて修正前ID(主キー)をフィールドに格納して
とかですか?
重複可能な管理番号とタイムスタンプをつけるとかですかね。
表示したい時間でレコードを抽出すれば過去の請求書になります。