Access - URGENTE

 
Vista:

URGENTE

Publicado por OSCAR (84 intervenciones) el 20/11/2001 05:13:46
Hola

tengo un formulario con dos cuadros combinados cuyas listas desplegables hacen referencia a varias tablas de la BD.

El formulario funciona que cuando tu seleccionas algo del primer combo te pone otro algo en el segundo combo dependiendo del contenido del primero. Esto lo realizo a través del siguiente código:

Select Case [Id_Estudi]
Case 4001
Id_Especialitat.RowSource = "SELECT F_EstudiEspecialitats.Especialitat, F_EstudiEspecialitats.Id_Especialitat FROM F_EstudiEspecialitats WHERE (((F_EstudiEspecialitats.Id_Especialitat) LIKE '4*'))"

End Select

Esto me sale perfectamente, no tengo problemas. El problema viene cuando he insertado 2 o mas, si me voy a otra pestaña del formulario y vuelvo a esta, han desaparecido del segundo combo el contenido y este está en blanco.

Sin embargo, si salgo de la BD y vuelvo a entrar cuando voy a esa pestaña del formulario está correctamente, es decir estan llenos.

Gracias!
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

URGENTE

Publicado por Alejandro (4142 intervenciones) el 19/04/2023 18:39:48
Hola Óscar.

Es posible que el problema se deba a que estás modificando la lista de opciones del segundo cuadro combinado en tiempo de ejecución, y cuando cambias a otra pestaña y vuelves, Access vuelve a cargar el formulario desde cero, lo que podría estar eliminando las modificaciones realizadas en la lista.

Para evitar este problema, podrías intentar mover el código que modifica la lista de opciones del segundo cuadro combinado al evento "AfterUpdate" del primer cuadro combinado. De esta manera, cada vez que se seleccione una opción en el primer cuadro combinado, se actualizará automáticamente la lista de opciones del segundo cuadro combinado sin tener que recargar el formulario.

El código para hacer esto podría verse así:

1
2
3
4
5
6
7
8
9
Private Sub PrimerCuadroCombinado_AfterUpdate()
Select Case Me.PrimerCuadroCombinado.Value
Case 4001
Me.SegundoCuadroCombinado.RowSource = "SELECT F_EstudiEspecialitats.Especialitat, F_EstudiEspecialitats.Id_Especialitat FROM F_EstudiEspecialitats WHERE (((F_EstudiEspecialitats.Id_Especialitat) LIKE '4*'))"
Case Else
' Agregar otros casos aquí si es necesario
Me.SegundoCuadroCombinado.RowSource = ""
End Select
End Sub

Este código debería ir en el módulo del formulario, y tendrás que reemplazar "PrimerCuadroCombinado" y "SegundoCuadroCombinado" con los nombres reales de tus cuadros combinados.

Espero que esto te ayude a solucionar el problema.
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