Access - Filtro con un campo de un subformulario

 
Vista:

Filtro con un campo de un subformulario

Publicado por JP (1 intervención) el 10/02/2006 14:01:16
Hola a todos.
Tengo un formulario con un campo independiente y un botón. Relleno el campo con un dato y el botón, abre otro formulario que tiene dos subformularios. Bien, el problema es que además, el formulario se debe abrir filtrado por un campo del subformulario en función del valor del campo independiente del primer formulario. Enrevesado pero simple, no obstante, no consigo hacerlo funcionar.
Alguien podría ayudarme???.
Gracias por adelantado.
Chao
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

Abrir formulario filtrado por un campo de un subformulario

Publicado por Alejandro (4142 intervenciones) el 20/06/2023 19:08:12
Para abrir un formulario filtrado por un campo de un subformulario en Access, puedes utilizar el evento "Al hacer clic" del botón del primer formulario para ejecutar el código necesario. Aquí te muestro cómo hacerlo:

1. Abre el formulario en el modo de diseño en Access.
2. Selecciona el botón que abrirá el segundo formulario.
3. Ve a la pestaña "Eventos" en la barra de propiedades y busca el evento "Al hacer clic".
4. Haz clic en el botón "..." junto al evento para abrir el editor de código.

Dentro del editor de código, puedes utilizar el siguiente código para abrir el segundo formulario y aplicar el filtro:

1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub btnAbrirFormulario_Click()
    Dim valorCampoIndependiente As Variant
 
    ' Obtener el valor del campo independiente del primer formulario
    valorCampoIndependiente = Me.NombreCampoIndependiente.Value
 
    ' Filtrar el subformulario del segundo formulario por el campo deseado
    Forms!NombreSegundoFormulario!NombreSubformulario.Form.Filter = "NombreCampo = '" & valorCampoIndependiente & "'"
    Forms!NombreSegundoFormulario!NombreSubformulario.Form.FilterOn = True
 
    ' Abrir el segundo formulario
    DoCmd.OpenForm "NombreSegundoFormulario"
End Sub

Asegúrate de reemplazar "NombreCampoIndependiente" con el nombre del campo independiente en el primer formulario, "NombreSegundoFormulario" con el nombre del segundo formulario y "NombreSubformulario" con el nombre del subformulario en el segundo formulario. Además, si el campo independiente es de tipo texto, debes ajustar la expresión de filtro adecuadamente.

Guarda los cambios en el editor de código y ciérralo.

Ahora, cuando hagas clic en el botón del primer formulario, se abrirá el segundo formulario y se aplicará el filtro en el subformulario basado en el valor del campo independiente.

Espero que esta solución te ayude a lograr tu objetivo. ¡Buena suerte y saludos!
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