La tarea de limpiar control por control es tediosa dentro de la programacion en Access. Aqui les muestro una manera de agilizar la limpieza en un formulario de manera mas agil y practica. solo necesitamos insertar el siguiente codigo dentro del boton deseado...
Aqui les dejo 3 ejemplos de codigos que puedes ser utilizados de manera ocacional segun sea la necesidad en el formulario:EJEMPLO 1:
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
EJEMPLO 2:
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
EJEMPLO 3:
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
Puedes llamar esta funcion desde cualquier evento con la siguiente Sintaxis:
ClearFormText Me
Hola a todos,
ResponderBorrargracias por la publicación del artículo, es excelente la variedad de opciones que das, sin embargo, he tratado de hacer funcionar el primero usando un botón en el menú de mi formulario, al cual llamo igual que lo hacéis vosotros, pero no me funciona en mi formulario. Uso Access 2007, en Español, no se si eso puede afectar.
Tenéis alguna idea de que puede estar pasando en mi caso?
Muchisimas gracias por vuestra ayuda
Héctor
solo necesitas poner dentro de un bloque de codigo de ese boton la siguiente linea
BorrarClearFormText Me
Vi este video y me funcionó y me permitió descargar el proyecto , se los comparto! https://www.youtube.com/watch?v=ATDyPCUVtHU&t=2s
ResponderBorrar