A Form-Level DataChanged Property

A Form-Level DataChanged Property

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).


Share the Post: