No.1ベストアンサー
- 回答日時:
(1)作成日時、最終更新日時の2つのフィールドを日付型で準備します。
(2)フォーム作成時に作成日時、フォームが更新されたとき(フィールドに更新された時)に最終更新日時のフィールドに更新された日時(そのときの時間)を入れる方法をとります。
(3)フォームレベルのイベントで処理します。
具体的には
作成日時のデータはフォームレベルのイベントの
フォームの挿入前のイベントで入れるか、
(もしくはフィールドの既定値で定義しても可能と思われる)
Private Sub Form_BerForeInsert(Cancel As Integer)
Me![作成日時] = Now() ’←作成日の場合は Date
’Me![作成者] = CurrentUser() ’←作成者を入れる場合
End Sub
また、最終更新日についても、フォームレベルのイベントで
フォームの中のあるフィールドが更新されると言うのは、
フォーム全体も更新されたという事ですので”フォームのBeforeUpdate”
にコードを書きます。
この方法であると、どのフィールドにデータが入力されたのかを判断する必要はないと思われます。
Private Sub Form_BeforeUpdate(Cancel As Integer)
Me![最終更新日時] = Now() ’←作成日の場合は Date
’Me![最終更新者] = CurrentUser()’←作成者を入れる場合
End Sub
フィールドのBeForeUpdateでなく、”フォームのBeForeUpdate”というのが鍵です。
以上どうでしょうか?
この回答への補足
回答ありがとうございます。詳しい説明で分かりやすいです。
実際はフォームの中にたくさん存在するレコードはクエリーを元にフォームを作っています。そしてそのクエリーもいくつかのテーブルをもとに作成しています。
こういう場合も上記の(3)のようにすればレコードにデータが更新された場合
日時が自動で挿入されるのでしょうか?
No.2
- 回答日時:
>実際はフォームの中にたくさん存在するレコードは
>クエリーを元にフォームを作っています。
>そしてそのクエリーもいくつかのテーブルをもとに作成しています。
>こういう場合も上記の(3)のようにすればレコード
>にデータが更新された場合日時が自動で挿入されるのでしょうか?
複数のテーブルという事は、簡単な見積書作成DBの例で説明いたします。
このDBは以下の4つのテーブルで構成されるとします。
(1)見積書(見積書ID、顧客ID【(3)から引張ってくる】、作成日、作成者)
(2)見積書明細(商品ID【(4)から引張ってくる】、個数)
(3)顧客マスター(顧客ID、顧客名、顧客住所等・・)
(4)商品マスター(商品ID、品名、単価、商品情報等・・・)
見積書自身の最終更新を管理する場合には(1)のテーブルに作成日、更新日のフィールドを追加してこのフィールドに値が入るようにすれば良いと思います。
(わたくし個人的には”diojojo”さんはこの場合だと思うのですが・・・)
また顧客マスター、初品マスターの最終変更日を入れたい場合はこちらのテーブルに作成日、更新日のフィールドを追加すれば良いと思います。
どのテーブルに最終更新日を記載したいのかを明確にして、
最終更新日を記載したいテーブルにフィールドを追加するのが
ポイントと思われます。
以上判りましたでしょうか?
(言葉での説明は非常に難しいと痛感します、サンプルでは一目瞭然なのですが・・・・・・・)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) Excel ドロップダウンリスト(入力規則)に関してです データの入力規則で元データ79000行のド 3 2023/07/17 10:06
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- その他(プログラミング・Web制作) Accessの代わりのノンプログラムデータベース作成 4 2022/10/21 09:26
- Excel(エクセル) Excelでのデータ管理 6 2022/12/24 09:33
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Excel(エクセル) 更新前と更新後の差分をVBAを使って抜き出したい 5 2023/06/01 14:35
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IT用語について質問です。 以前...
-
ACCESSでテーブルのフィールド...
-
Accessでテーブルの値をテキス...
-
【Access】フォームで自動計算...
-
accessのレポートで元になるテ...
-
ExcelからAccessにデータを取り...
-
Access2003 空レコード挿入
-
ACCESSで和暦を西暦に・・・
-
アクセスのテーブルデータをCSV...
-
Accessでフィールドを追加したい
-
ACCESS VBAにてCSV...
-
オプショングループから文字を入力
-
アクセス エラーを数値「0」に...
-
ACCESSの既存テーブルに、EXCEL...
-
Accessで、フィールドにルック...
-
ACCESS検索★ある文字を複数のフ...
-
ACCESS.ルックアップの値以外...
-
Sqlserver2005でテーブルを作成...
-
accessで順位の合計の順位の求め方
-
view作成時にデータ型を変更し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Accessでテーブルの値をテキス...
-
Accessのフィールド数が255しか...
-
ACCESSで400以上のフィールドが...
-
ACCESSでの改行コード
-
INSERT INTO ステートメントに...
-
accessのレポートで元になるテ...
-
アクセス エラーを数値「0」に...
-
ExcelのデータをコピーでACCESS...
-
Accessで、固定アルファベット+...
-
Access 昇順・降順で並び替え...
-
accessで重複を防ぎたい
-
アクセス VBAで列の入れ替...
-
SQLServer2005のSQL文での別名...
-
ACCESSで和暦を西暦に・・・
-
ACCESS2000「定義されているフ...
-
主キーはオートナンバー型のID...
-
ACCESSでオートナンバーを任意...
-
ACCESSでテーブルのフィールド...
-
アクセス A列コピー B列貼り...
-
IT用語について質問です。 以前...
おすすめ情報