Access - Subformularios

 
Vista:

Subformularios

Publicado por Berenice (84 intervenciones) el 12/06/2007 21:19:52
Buenas tardes!!!

Tengo una forma, en la cual uso dos subformularios, "Sub1" y "Sub2"
En el "Sub1" tengo un combobox, necesito que cuando el usuario elija una opcion del combo, esa opcion se agregue en el "Sub2" justo en ese momento, para esto ejecuto un query que lo haga, el problema es que no se refresca en el momento... El usuario tiene que cambiar de registro y luego regresar al que estaba capturando para poder ver reflejado el cambio en el "Sub2". Y mi problema es que no se como invocar las propiedades del "Sub2" estando en el codigo del "Sub1" para hacer un Requery en el evento AfterUpdate del combo (creo que ahi funcionaria eso que quiero hacer). Alguno de ustedes sabe como hacer esto?

Muchas gracias de antemano... Saludos!
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

Actualizar subformulario al cambiar combo en otro subformulario

Publicado por Alejandro (4142 intervenciones) el 11/08/2023 22:40:16
Para lograr que el Subformulario2 (Sub2) se actualice automáticamente cuando se selecciona una opción en el Combobox del Subformulario1 (Sub1), puedes seguir estos pasos:

1. Obtener referencia al Subformulario2 desde Subformulario1:

En el evento `AfterUpdate` del Combobox en el Subformulario1, puedes acceder al Subformulario2 y actualizarlo. Asegúrate de que los nombres de tus subformularios coincidan con los que proporcionaste ("Sub1" y "Sub2").

2. Agregar código VBA:

Abre el código del Subformulario1 y busca el evento `AfterUpdate` del Combobox. Si no existe, puedes agregarlo. Luego, agrega el siguiente código:

1
2
3
4
5
6
7
8
9
10
Private Sub NombreDeTuComboBox_AfterUpdate()
    ' Obtener referencia al Subformulario2
    Dim sub2 As Form
    Set sub2 = Me.Parent.Form.Sub2.Form
 
    ' Agregar la opción seleccionada al Subformulario2 (ajusta el nombre del campo)
    sub2.Recordset.AddNew
    sub2.Recordset("NombreDelCampo") = Me.NombreDeTuComboBox.Value
    sub2.Recordset.Update
End Sub

Asegúrate de reemplazar "NombreDeTuComboBox" con el nombre real de tu Combobox y "NombreDelCampo" con el nombre del campo en el Subformulario2 donde deseas agregar la opción seleccionada.

3. Actualizar el Subformulario2:

Puedes usar el método `Requery` para actualizar el Subformulario2 y reflejar los cambios inmediatamente. Puedes agregar una línea de código después de la actualización del registro en el Subformulario1:

1
sub2.Requery

Con estos pasos, al seleccionar una opción en el Combobox del Subformulario1, se agregará automáticamente al Subformulario2 y este último se actualizará en tiempo real.

Ten en cuenta que es posible que debas ajustar el código según la estructura específica de tus formularios y campos. Además, asegúrate de manejar adecuadamente cualquier posible conflicto o validación de datos según tus necesidades.

Espero que esta solución te ayude a lograr lo que estás buscando, Berenice.
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