
Combobox ligados en Formulario de Consulta
Publicado por Juan (1 intervención) el 03/04/2011 12:47:45
Buenos días
Soy novato en Access y llevo unos días con un tema al que no le encuentro solución y debe ser sencillo.
3 TABLAS: INMUEBLE, SUBINMUEBLE y ESTANCIAS.
Tengo un formulario de consulta y modificación típico, en el que puedes avanzar y retroceder por los registros. Dicho formulario es el de ESTANCIAS.
Las estancias se encuentran en un INMUEBLE y en un SUBINMUEBLE, y para ello utilizo dos combobox ligados / enlazados de forma que cuando seleccionas un INMUEBLE, el otro combo sólo muestre los subinmuebles del inmueble seleccionado. Esto funciona perfecto cambiando el rowsource y haciendo requery en el Afterupdate del combo de los inmuebles:
Private Sub cb_inmueble_AfterUpdate()
Dim strSQL As String
strSQL = "SELECT DISTINCT inmuebles_identificacion.COD_INMUEBLE, inmuebles_identificacion.COD_SUBINMUEBLE, inmuebles_identificacion.DENOMINACION_SUBINMUEBLE"
strSQL = strSQL & " FROM inmuebles_identificacion"
If Not IsNull(Me.cb_inmueble.Value) Then
strSQL = strSQL & " WHERE (((inmuebles_identificacion.COD_INMUEBLE) = " & cb_inmueble.Value & ")) AND [COD_INMUEBLE] is not null and [COD_INMUEBLE]<>0 "
End If
strSQL = strSQL & " ORDER BY inmuebles_identificacion.COD_INMUEBLE, inmuebles_identificacion.COD_SUBINMUEBLE, inmuebles_identificacion.DENOMINACION_SUBINMUEBLE;"
Me.cb_subinmueble.RowSource = strSQL
Me.cb_subinmueble = Null
Me.cb_subinmueble.Requery
End Sub
Ambos combos van ligados a su correspondiente campo en ESTANCIAS.
Pero lo que me sucede es que cuando avanzo y retrocedo por los registros el segundo combo me muestra valores incorrectos al no corresponderse con el filtrado que debería hacer con el primer combo.
¿Alguna idea? ¿Me explico más? Muchas gracias anticipadas
Soy novato en Access y llevo unos días con un tema al que no le encuentro solución y debe ser sencillo.
3 TABLAS: INMUEBLE, SUBINMUEBLE y ESTANCIAS.
Tengo un formulario de consulta y modificación típico, en el que puedes avanzar y retroceder por los registros. Dicho formulario es el de ESTANCIAS.
Las estancias se encuentran en un INMUEBLE y en un SUBINMUEBLE, y para ello utilizo dos combobox ligados / enlazados de forma que cuando seleccionas un INMUEBLE, el otro combo sólo muestre los subinmuebles del inmueble seleccionado. Esto funciona perfecto cambiando el rowsource y haciendo requery en el Afterupdate del combo de los inmuebles:
Private Sub cb_inmueble_AfterUpdate()
Dim strSQL As String
strSQL = "SELECT DISTINCT inmuebles_identificacion.COD_INMUEBLE, inmuebles_identificacion.COD_SUBINMUEBLE, inmuebles_identificacion.DENOMINACION_SUBINMUEBLE"
strSQL = strSQL & " FROM inmuebles_identificacion"
If Not IsNull(Me.cb_inmueble.Value) Then
strSQL = strSQL & " WHERE (((inmuebles_identificacion.COD_INMUEBLE) = " & cb_inmueble.Value & ")) AND [COD_INMUEBLE] is not null and [COD_INMUEBLE]<>0 "
End If
strSQL = strSQL & " ORDER BY inmuebles_identificacion.COD_INMUEBLE, inmuebles_identificacion.COD_SUBINMUEBLE, inmuebles_identificacion.DENOMINACION_SUBINMUEBLE;"
Me.cb_subinmueble.RowSource = strSQL
Me.cb_subinmueble = Null
Me.cb_subinmueble.Requery
End Sub
Ambos combos van ligados a su correspondiente campo en ESTANCIAS.
Pero lo que me sucede es que cuando avanzo y retrocedo por los registros el segundo combo me muestra valores incorrectos al no corresponderse con el filtrado que debería hacer con el primer combo.
¿Alguna idea? ¿Me explico más? Muchas gracias anticipadas
Valora esta pregunta


0