View Single Post
  #3  
Old June 5th, 2010, 06:00 AM posted to microsoft.public.access
PeterM
external usenet poster
 
Posts: 208
Default Close Form Event

I don't think I've explained the problem clearly. I have the save button
setup the way you define in your example. How do I capture if the user
changes a bound item on a form and tries to close the form without clicking
on the save button first. There is no close button on the form, a form is
closed by a parent form when another form is opened. I need to determine
when the form is closed but still is dirty. THe unload and close events
don't work in that situation.

"Jeanette Cunningham" wrote:

You can code the save button like this:

Private Sub btnSave_Click()
Dim strMsg As String
strMsg = strMsg & "Save Changes?" & Chr(13) & Chr(13)

If Me.Dirty = True Then
If MsgBox(strMsg, vbQuestion + vbYesNo, "Please Confirm!") = vbYes Then
Me.Dirty = False
Else
Me.Undo
End If
End If
End Sub

You will need some error handling to trap errors if something stops the
save, for example a required field missing.


Jeanette Cunningham MS Access MVP -- Melbourne Victoria Australia

"PeterM" wrote in message
...
I have a AC2003 bound form. The condition I'm trying to capture is if the
user modifies any item on the form and they close the form without saving
changes. Simple...right? I found out that Form_Close doesn't work so I
tried the following code in the Form_Unload event and that isn't working
either. It does not even trigger the event. Can someone please tell me
what
I'm doing wrong? I would be much appreciated.

Private Sub Form_Unload(Cancel As Integer)
If Me.btnSave.Enabled Then
Dim strMsg As String
strMsg = strMsg & "Save Changes?" & Chr(13) & Chr(13)
If MsgBox(strMsg, vbQuestion + vbYesNo, "Please Confirm!") = vbYes
Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, ,
acMenuVer70
Else
Cancel = True
End If
End If
End Sub



.