こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Access2007で従業員情報と顧客情報のデータを作り、請求書等を作

Access2007で従業員情報と顧客情報のデータを作り、請求書等を作成しています。
そこで、入力フォームにデータを入力しているのですが、途中で担当者が変わったり、基本情報(住所・電話番号等)するので変わった場合、データを呼び出し、上書きしていっています。
ただし、この上書き作業は各担当者がやってますのでできれば、修正した箇所に色づけまたは、入力Fの背景ごと色を変えたいのです。また、変更年月日も自動的に入力されるようにしたいのですが可能でしょうか。
宜しくお願い致します。

投稿日時 - 2010-09-02 12:22:52

QNo.6153184

すぐに回答ほしいです

質問者が選んだベストアンサー

#1です。とりあえず

>変更年月日も自動的に入力も適当なイベントを利用

フォームに「顧客名」と「変更年月日」テキストボックスがあるとして

1.「顧客名」のプロパティでイベントタブをクリック
2.更新後処理行をクリックして右端に出る「...」をクリック
3.コードビルダを選択
4.一行書き込みで下記のようにする
Private Sub 顧客名_AfterUpdate()
Me.更新年月日 = Date
End Sub

5.フォームを実行し、顧客名に変更を加えてから、他のフィールドに移動した時、更新年月日が書き換えられることを確認

と云うようなことで、如何でしょう。
上書きをしない方法はさほど難しいことではありませんが、説明が長くなります。将来的により安全なDB設計を考える際の、参考にして下さい。

投稿日時 - 2010-09-02 14:53:11

お礼

ありがとうございました。
コードビルダーと聞いて、なんだか難しそうだなと思いましたが
無事にできました。
ご丁寧にありがとうございました。
また不可解な質問をしてしまうと思いますが宜しくお願い致します。

投稿日時 - 2010-09-02 16:01:26

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ご要望が良く判りません。

>修正した箇所に色づけ

修正後、どのくらいの期間色づけするのでしょうか?あるいは別のルールで色づけが決まるのでしょうか?

>入力Fの背景ごと色を変えたいのです

理解できません。

>変更年月日も自動的に入力
これは適当なイベントを利用すればできるでしょう。
しかし、私ならば上書きせずに、
1.新規レコード追加
2.新規レコードの変更年月日フィールドのディフォルト値を Now() にしておく
3.新規レコードに現在のデータをコピーし、それを修正する
4.旧レコードに「変更済み」等のフラッグをたて、利用しないようにする

このようにしておけば、変更履歴も残るし、誤って修正した場合も簡単に元に戻せます。上書きでやると、ご修正の場合、最悪データの復旧ができなくなります。

投稿日時 - 2010-09-02 12:52:29

補足

ご回答ありがとうございます。
ご提案いただいた、上書きをしない方法ですが、1画面に1つのレコードが表示されていますので
旧にフラグをたててそのデータをcopyして・・・という作業が少々大変かと思いまして。
まったくの初心者で参考書を片手に調べながらやっとテーブルと入力Fができたので・・。
変更年月日も自動的に入力も適当なイベントを利用すればとご回答いただいたのですが、その適当なイベントがよくわからないのが現状です。
もう少し探してみます。ありがとうございました

投稿日時 - 2010-09-02 13:38:20

あなたにオススメの質問