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

See also  How to Block Websites During Certain Hours on a Mac Computer

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist