#425 | レコードの最終更新日時を記録するには? | フォーム、VBA | |
フォームにおいてレコードの編集操作が行われるたびに、その日時をレコードごとにテーブルに保存しておく方法です。 テーブルのフィールドデザインにおいて「既定値」としてNow関数などが指定されている場合、新規レコードが追加されると自動的にその日時を保存できます。しかしレコードの更新操作に関しては、フォーム上のプログラムを使ってそれを記録してやる必要があります。 次の例では、フォームの更新前処理イベントを利用して、フォームのレコードソースに含まれる「最終更新日時」フィールドの値を現在日時に更新しています。 Private Sub Form_BeforeUpdate(Cancel As Integer) 'フォームの更新前処理 '最終更新日時を更新 [最終更新日時] = Now() End Sub ここでのポイントは、更新後処理イベントではなく更新前処理イベントを使うことです。更新後処理イベントで同様の操作をするとレコード移動ができなくなってしまいます。また当然のことながら、フォームのレコードソースとなるテーブルあるいはクエリ上に「最・ I更新日時」という名前のフィールドがある必要があります。ただしそれを必ずしもフォーム上にコントロールとして配置する必要はありません。 |
|||
|
Copyright © T'sWare All rights reserved |