Ever wished you could use the Save parameter outside of a Validate event? Have you noticed that if abound control is changed and you set DataChanged back to False, Save is still true on Validate? Solve bothproblems by adding a public function:
Public Function FormChanged(frm As Form) On Error Resume Next Dim i As Integer, dChanged As _ Boolean FormChanged = False For i = 0 To frm.Controls.Count - 1 'for controls with no DataChanged 'property dChanged = frm.Controls(i)_ .DataChanged If Err <> 0 Then 'almost certainly is' OjectDoesntSupportThisPropertyOrMethod Err = 0 Else If dChanged = True Then FormChanged = True Exit Function End If End If NextEnd Function
Use this function any time by simply writing If FormChanged(Me) Then, or however you wish, and you canuse it in the Validate routine with Save = FormChanged(Me).