Access - Actualizar subformularios

 
Vista:

Actualizar subformularios

Publicado por Satur (3 intervenciones) el 11/12/2006 12:50:21
Saludos a todos,

Mi problema es el siguiente: Tengo un formulario en el que tengo un subformulario y quiero colocar otro subformulario, que realmente es una consulta, que varía en función de un valor de un combo en el formulario principal y 2 del subformulario. El tema de vincular la consulta a los campos en cuestión la he resuelto con el generador de expresiones, pero ahora no me actualiza cuando cambio el valor de los campos.
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

Actualización de subformulario de consulta según valores del formulario

Publicado por Alejandro (4142 intervenciones) el 31/07/2023 20:00:51
Saludos.

Para lograr que el subformulario de consulta se actualice en función de los valores del formulario principal y del primer subformulario, necesitarás utilizar eventos y código VBA en Microsoft Access. A continuación, te proporciono una guía paso a paso para lograrlo:

1. Abre el formulario en modo diseño y asegúrate de tener un subformulario presente y configurado correctamente.

2. Agrega un segundo subformulario al formulario principal desde la pestaña "Diseño" y selecciona la opción "Subformulario" en el cuadro de diálogo.

3. Una vez agregado el segundo subformulario, selecciona el subformulario y ve a la pestaña "Datos" en la barra de propiedades.

4. En la propiedad "Origen del registro" del segundo subformulario, selecciona la consulta que deseas mostrar inicialmente cuando se abre el formulario.

5. Ahora, necesitamos agregar código VBA para que el segundo subformulario se actualice cuando cambien los valores en el formulario principal o en el primer subformulario.

6. Haz doble clic en el formulario principal para abrir el editor de código VBA.

7. En el editor de código, busca el evento "Después de actualizar" para los controles cuyos valores afectarán la consulta del segundo subformulario. Si no tienes el evento "Después de actualizar", puedes agregarlo haciendo clic derecho en el control, seleccionando "Crear" y luego "Evento -> Después de actualizar".

8. En el evento "Después de actualizar" de cada control relevante, agrega el siguiente código para actualizar el segundo subformulario:

1
2
3
4
Private Sub Combo1_AfterUpdate()
    Me.Subformulario2.Form.RecordSource = "SELECT * FROM NombreTabla WHERE Campo1 = " & Me.Combo1.Value & " AND Campo2 = " & Me.Subformulario1.Form.Campo3 & ";"
    Me.Subformulario2.Form.Requery
End Sub

Asegúrate de reemplazar "Combo1" con el nombre del combo en el formulario principal que afecta la consulta, "Subformulario2" con el nombre del segundo subformulario, "NombreTabla" con el nombre de la tabla en la consulta, "Campo1" con el nombre del campo en la tabla que se relaciona con el valor seleccionado en el combo, "Campo2" con el nombre del campo en la tabla que se relaciona con el valor del primer subformulario y "Campo3" con el nombre del campo en el primer subformulario que se relaciona con la consulta.

9. Repite el paso 8 para cada control que afecta la consulta del segundo subformulario.

Con este código, cada vez que cambies el valor en el formulario principal o en el primer subformulario, el segundo subformulario se actualizará automáticamente con los resultados de la nueva consulta.

Espero que esta solución te sea útil para actualizar el segundo subformulario en función de los valores del formulario principal y del primer subformulario en Microsoft Access. ¡Buena suerte con tu proyecto!
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