teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

説明の修正

2019/07/11 12:50

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -5,11 +5,11 @@
5
5
  フォームに更新がなかった場合は、読み込み解除時 → 閉じる時 という順で発生します。
6
6
  フォームに更新があった場合は、更新前処理 → 更新後処理 → 読み込み解除時 → 閉じる時 という発生順になります。
7
7
 
8
- 読み込み解除時や閉じる時では、更新処理は終了してますので、Me.Dirtyは Falseになってます。
8
+ 読み込み解除時や閉じる時では、更新処理は終了してますので、Me.Dirtyは Falseになってますので判定できません
9
9
 
10
10
  更新後処理では、更新処理をキャンセルできませんので、「変更されています。よろしいでしょうか」と確認して「いいえ」と言われても、手遅れです。
11
11
 
12
- 結局、更新前処理で「変更されています。保存しますか。」と確認して、「いいえ」と言われたら、Cancel=True として更新処理をキャンセルます。
12
+ 結局、更新前処理で「変更されています。保存しますか。」と確認して、「いいえ」と言われたら、Cancel=True として更新処理をキャンセルすることになります。下記のようなコードになります。
13
13
 
14
14
  ```vba
15
15
  Private Sub Form_BeforeUpdate(Cancel As Integer)