Use this code to clear all the controls in a form.
' Inputs : Frm - Form to clear
' All - If False, then only those controls whose
TAG<>FIXED will be cleared
' Note: If Contents of certain controls need not be cleared, set the
TAG property of those controls to 'FIXED'
Public Sub ClearForm(Frm As Form, Optional All As Boolean = True)
Dim Ctr As Control
If All Then
For Each Ctr In Frm.Controls
If TypeOf Ctr Is TextBox Then
Ctr.Text = ""
ElseIf TypeOf Ctr Is ComboBox Then
If Ctr.Style = 2 Then
Ctr.ListIndex = -1
Else
Ctr.Text = ""
End If
ElseIf TypeOf Ctr Is MSForms.ComboBox Then
Ctr.Text = ""
ElseIf TypeOf Ctr Is CheckBox Then
Ctr.Value = 0
ElseIf TypeOf Ctr Is SSDateCombo Then
Ctr.Text = GetDate(Date)
ElseIf TypeOf Ctr Is SSOleDBCombo Then
Ctr.Text = ""
ElseIf TypeOf Ctr Is DataCombo Then
Ctr.Text = ""
End If
Next
Else
For Each Ctr In Frm.Controls
If InStr(Ctr.Tag, "FIXED") = 0 Then
If TypeOf Ctr Is TextBox Then
Ctr.Text = vbNullString
ElseIf TypeOf Ctr Is ComboBox Then
If Ctr.Style = 2 Then
Ctr.ListIndex = -1
Else
Ctr.Text = ""
End If
ElseIf TypeOf Ctr Is MSForms.ComboBox Then
Ctr.Text = ""
ElseIf TypeOf Ctr Is CheckBox Then
Ctr.Value = 0
ElseIf TypeOf Ctr Is SSDateCombo Then
Ctr.Text = GetDate(Date)
ElseIf TypeOf Ctr Is SSOleDBCombo Then
Ctr.Text = ""
ElseIf TypeOf Ctr Is DataCombo Then
Ctr.Text = ""
End If
End If
Next
End If
End Sub