Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 8.1 Pro : Access 2007)
このレコードを保存できません
投稿日時: 17/06/05 09:38:09
投稿者: FILETUBE

 おはようございます。
質問ばかりですいません。
 
Aというフォームにボタンを配置し、クリックすると
別フォームをダイログ表示するようにしました。
 
項目入力後、オリジナルのボタンをクリックすると
入力内容を表示するようにしたのですが
右上の×で閉じようとすると
「このレコードを保存できません」のメッセージが出てしまいます。
右上の×で閉じた場合保存はしなくていいのですが。
 
Private Sub Form_BeforeUpdate(Cancel As Integer)
    Cancel = True
End Sub
 
Private Sub cmdUPD_Click()
    BeforeUpdate = ""
    DoCmd.RunCommand acCmdSaveRecord
    BeforeUpdate = "[イベント プロシージャ]"
End Sub
 
このようにコーディングしているのですが
 Cancel = Trueの部分をコメントにすると
メッセージはでませんが、データが保存されてしまいます。
 
このレコードを保存できません」のメッセーを出なくして
レコードを保存しないようには出来るのでしょうか?
 
わかる方おられましたら、教えて頂けないでしょうか?
よろしくお願いします。
 
 
 
 

回答
投稿日時: 17/06/05 12:49:20
投稿者: hatena
投稿者のウェブサイトに移動

フォームの更新前処理を下記に変更。
 
Private Sub Form_BeforeUpdate(Cancel As Integer)
    Me.Undo
End Sub
 
ただし、レコード移動、レコードセレクタクリックなどの保存行動をとっても保存されません。
cmdUPDボタンをクリックしたときのみ保存されます。
  

投稿日時: 17/06/05 14:04:54
投稿者: FILETUBE

 早速の回答ありがとうございました。
 
メーッセージはでなくなりました。