Clearing Controls & Forms in Access (VBA)


Clearing Controls & Forms in Access (VBA)

Very elegant item for clearing all controls.
---- 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?


Isn't it about time forums rewarded their contributors?

Earn rewards points for helping others. Gain kudos. Cash out. Get better answers yourself.

It's as simple as contributing editorial or replying to discussions labeled or OP Kudos

This is an OP Kudos discussion and contributors may be rewarded
Start New Discussion
Tags Related to this Article