#591 | レコード単位での更新の開始を確認するには? | フォーム、VBA | |
フォームの「ダーティー時/Dirty」イベントは、フォームのカレントレコードのいずれかのフィールドの内容が更新されようとしたときに発生します。 厳密には、あるレコード内において、任意の1つめのフィールドに最初の1文字が入力されたときに発生します。あるフィールドで更新が開始されたあとは、同じレコード内であれば他のフィールドを更新する際には発生しません。また1文字目が受け入れられたときは、2文字目以降の入力では発生しません。また別のレコードに移動されたときは、あらためて1文字目の更新操作がチェックされます。 またこのイベントプロシージャは「Cancel」という引数を持っており、イベントプロシージャ内でこれに「True」を代入することで、そのレコードに対するすべてのフィールドの更新操作の”開始”をキャンセルすることができます。 次のイベントプロシージャのコードは、ユーザーがあるレコードの変更を始めようとしたとき、毎回毎回更新開始の確認メッセージを表示させるようにしています。 Private Sub Form_Dirty(Cancel As Integer) 'フォームのダーティー時 If MsgBox("このレコードの更新を開始しますか?", _ vbYesNo + vbQuestion) = vbNo Then Cancel = True End If End Sub |
|||
|
Copyright © T'sWare All rights reserved |