¿Cómo se pueden filtrar los valores que aparecen en una lista desplegable?

No me he puesto con ello, pero a ver si me lo resuelves.

Tengo un formulario que entre los datos que meto, es Departamento

Luego tengo una lista desplegable que proviene de una tabla cuyos registros tienen el campo Departamento.

Mi pregunta es por ejemplo si el formulario principal, meto por ejemplo Departamento : Frio

En la lista desplegable, solo aparezcan los registros de la tabla de donde provienen el campo Departamento sea Frio

Si pongo en el formulario en Departamento: caliente, en el desplegable solo los registros donde su campo departamento sea caliente.

1

1 respuesta

Respuesta
1

La cosa sería algo así: en el evento Después de actualizar del cuadro desplegable, le pones un código de este estilo:

Dim miFiltro as string

if isnull(Me.ComboBox) then

Me.FilterOn=false

exit sub

Else

miFiltro="[Departamento]='" & Me.ComboBox & "'"

Me.Filter=miFiltro

Me.FilterOn=True

End If

No me explicado bien tengo un campo "Departamento" que pongo por ejemplo: FRIO

Y tengo un desplegable que proviene de una tabla, que al desplegar aparece por ejemplo

CIRCUITO ORIGEN DESTINO DEPARTAMENTO PRECIO

CIR001 AVILÉS VERIÑA FRIO 34

CIR002 AVILÉS OVIEDO FRIO 24

CIR003 OVIEDO CANDAS CALIENTE 25

CIR004 CANDAS OVIEDO FRIO 27

CIR005 AVILÉS MADRID CALIENTE 25

Así hasta todos los circuitos que aparecen en la tabla.

Lo que quiero hacer que al desplegar, la lista solo aparezcan circuitos que en su campo DEPARTAMENTO sea igual al CAMPO DPARTAMENTO del formulario, en el caso del FRIO al desplegar solo deberían aparecer el circuito CIR001, CIR002 y CIR004, además es este el valor que tiene que quedar en el desplegable "el circuito" y no el departamento, no se si me explicado mejor.

Gracias

Vale, te había entendido otra cosa.

En el origen de la fila del desplegable, le das al botón de los 3 puntitos, y se te abrirá un generador de consultas. Ahí eliges la tabla que es el origen del desplegable, seleccionas los campos CIRCUITO ORIGEN DESTINO DEPARTAMENTO PRECIO, y en la columna correspondiente a DEPARTAMENTO, te vas a la fila Criterios, haces click derecho, le das a generar, y ahí buscas el formulario, buscas el campo Departamento, le das doble click para que se te añada en la ventana de arriba. Le das a aceptar, cierras el generador de consultas, dándole a Si cuando te pregunte, y guardas el formulario.

Lo que es la consulta funciona bien y coge el criterio, pero el problema esta en que sin cerrar el formulario meto un registro nuevo, con otro departamento y no me lo filtra (es como si no hiciese la consulta otra vez), sin embargo si entro y salgo del formulario si lo hace bien. Es como si la consulta interna, solo la ejecutase al entrar o al meter primer registro, pero en cuanto entro en el desplegable una vez ya no filtra más.

Gracias

Nota he intentado poner un evento de que ejecute la consulta de selección, al entrar en el desplegable y la hace bien. Debería hacer lo mismo internamente, que cuando siempre ejecute esa consulta al entrar en el desplegable.

Siguiendo probando, esta pasando que al abrir el formulario va al primer registro, lo que hace es ejecutar la consulta del desplegable con el primer registro, y aunque crees un nuevo registro el desplegable sigue enseñando los mismos datos

Ya esta, he puesto que al entrar en el cuadro combinado:

Private Sub ALBARANES_CodigoCircuito_Enter()
Me.ALBARANES_CodigoCircuito.Requery
End Sub

Donde ALBARANES_CodigoCircuito es el cuadro combinado, que te parece

Llegamos a la misma conclusión gracias

En el evento después de actualizar del campo departamento, ponle

Me. NombredelCombo. Requery

Para que re recalcule cada vez q añades un registro o modificas Departamento

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas