Access - SE PUEDE HACER ESTO CON SUBFORMS!!!

 
Vista:

SE PUEDE HACER ESTO CON SUBFORMS!!!

Publicado por Victor Manuel (101 intervenciones) el 25/04/2007 19:04:01
TENGO UN FORMULARIO, DENTRO DE EL UN SUBFORM, MEDIANTE UN COMBOBOX FILTRO INFORMACION QUE QUIERO QUE SE VEA EN EL SUBFORM.

tODO ESTA BIEN, AL SELECCIONAR LA OPCION ME MUESTRA LA INFORMACION RELACIONADA A ESA OPCION EN EL SUBFORMULARIO.

PERO CUANDO BORRO LA OPCION OSEA PONGO EN BLANCO ELSUBFORM ESTE ME SIGUE MOSTRANDO LOS REGISTROS QUE SE FILTRARON EN BASE A LA OPCION.

yO LO QUE QUIERO ES QUE AL BORRAR S ME MUESTREN DE NUEVO TODOS LOS REGISTROS.

AY ALGUNA FORMA DE HACER ESTO CON LOS SUBFORM?

SALUDOS

VICTOR
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Restablecer filtro en subformulario al borrar selección en ComboBox

Publicado por Alejandro (4142 intervenciones) el 09/08/2023 22:03:07
Sí, Víctor, puedes lograr que al borrar la selección en el ComboBox se muestren de nuevo todos los registros en el subformulario. Para hacer esto, puedes utilizar el evento `AfterUpdate` del ComboBox para controlar cuándo se realiza la acción de restablecer el filtro en el subformulario. Aquí te indico los pasos a seguir:

1. Abre el formulario en modo de diseño.

2. Selecciona el ComboBox que utilizas para filtrar la información en el subformulario.

3. Abre la ventana de propiedades del ComboBox (puedes hacerlo presionando F4).

4. Ve a la pestaña "Eventos" (icono con un rayo) y busca el evento "Después de actualizar" (`AfterUpdate`).

5. Haz clic en el botón junto al evento para abrir el editor de código VBA.

6. En el editor de código, puedes agregar el siguiente código para restablecer el filtro en el subformulario cuando se borra la selección en el ComboBox:

1
2
3
4
5
6
7
8
9
Private Sub TuComboBox_AfterUpdate()
    If IsNull(Me.TuComboBox.Value) Then ' Cambia "TuComboBox" al nombre real de tu ComboBox
        Me.TuSubformulario.Form.Filter = ""
        Me.TuSubformulario.Form.FilterOn = False
    Else
        Me.TuSubformulario.Form.Filter = "CampoRelacionado = " & Me.TuComboBox.Value ' Cambia "CampoRelacionado" al nombre del campo que relaciona el ComboBox con el subformulario
        Me.TuSubformulario.Form.FilterOn = True
    End If
End Sub

Asegúrate de realizar los siguientes cambios en el código:
- Reemplaza "TuComboBox" con el nombre real de tu ComboBox.
- Reemplaza "TuSubformulario" con el nombre real del subformulario.
- Reemplaza "CampoRelacionado" con el nombre del campo en el subformulario que está relacionado con el ComboBox.

7. Guarda y cierra el editor de código.

Con estos pasos, cuando borres la selección en el ComboBox, el filtro en el subformulario se restablecerá y mostrará todos los registros nuevamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar