Clearing Controls & Forms in Access (VBA) UserPageVisits:1280 active 80 80 DaniWeb 561 60 2007-11-13T07:58:59+00:00

Clearing Controls & Forms in Access (VBA)


Clearing Controls & Forms in Access (VBA)

praxis1949 commented: Very elegant item for clearing all controls. +0
About the Author

Medical Professional

code snippet
---- start of revised code ----
Private Sub cmdClearCriteria_Click()

    Dim ctl As Control

    For Each ctl In Me.Controls
        Select Case ctl.ControlType
            Case acTextBox, acComboBox, acListBox, acCheckBox
                If ctl.ControlSource = "" Then
                    ctl.Value = Null
                End If
            Case Else
        End Select
    Next ctl

End Sub

'---- end of revised code ----


'***********  CLEAR FORM FIELDS CODE  ***********************
Sub Clear_Form()
    Dim X As Control
    For Each X In Me.Controls
        If TypeOf X Is TextBox Then
            X = Null
        End If
    Next X

End Sub



Sub ClearFormText(frm As Form)
    Dim ctl As Control
    For Each ctl In frm.Controls
        If ctl.ControlType = acTextBox Then
            ctl.Value = ""
        End If
    Next ctl
End Sub

Call the code from any event with the following syntax:

          ClearFormText Me

The 'Me' keyword will pass in a reference to the current form and the code will clear all text boxes.


thank for the beautifull code

When I try any of the above, I get runtime error 2448 "you can't assign a value to this object".

The object is
ctl.Value = Null or X = Null or ctl.value=""

Does anyone have a thought on why it doesn't work for me? Or are there any other ways to clear all fields on a form?


Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.19 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.