Access - Estudiante

   
Vista:

Estudiante

Publicado por Andres Fariña (3 intervenciones) el 10/06/2009 22:51:48
Hola, si me pueden ayudar con esta pregunta se los agradeceri mucho.
mi problema es que tengo una base de datos en access donde tengo un formulario con dos listas desplegables, una llamada "especialidades primarias" y la otra " subespecialidades" , pero con nombre en la BD de "cuadro combinado 114" y "cuadro combinado 118" respectivamente, la idea es que cuando seleccione un valor en el primer cuadro combinado me muestre en el segundo solo las subespecialidades que tienen relacion con la primaria y en caso que no exista una subespecialidad, ocultar el cuadro para evitar el ingreso de datos erroneos.
ne se si me explique con claridad pero de todas formas el modelo tiene una relacio uno a infinito, es decir con una especialidad primaria se pueden tener varias especialidades y de las especialidades primarias existen solo tres que tienen subespecialidades asignadas, las otras no tienen ninguna por lo que el cuadro de texto debe habilitarse solo si se selecciona una de las tres correspondientes.
Con eso me conformo, pero si no es mucho pedir me gustaria que al seleccionar una de esas tres solo mostrara solo las relacionadas con la seleccion hecha y no todas las existentes.
De ante mano 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

RE:Estudiante

Publicado por laureano (3 intervenciones) el 19/06/2009 14:43:37
Podria ser así.
[Cuadro combinado 114] tiene una instruccion Origen de la Fila: "select idespecie, nombreespecie from especies order by idespecie"
y [cuadro combinado 118] = "select idsubespecie, nombresubespecie, idespecie from subespecie order by idespecie, idsubespecie"

Para integrarlos simplemente tienes que hacer es adicionar una clausula where al campo [Cuadro Combinado 118] y su instruccion quedaría así:

[cuadro combinado 118] = "select idsubespecie, nombresubespecie from subespecie WHERE IDESPECIE = [Cuadro combinado 114] order by idespecie, idsubespecie"

Solo falta agregar un evento AL CAMBIAR del [Cuadro combinado 114] así:

Private Sub Cuadro_combinado114_Change()
Cuadro_combinado118.Requery
End Sub

Ahora cada vez que cambies el valor del cuadro combinado 114 se refrescará el del cuadro combinado 118.

Cualquier duda o inquietud me comentas.
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