Filtros para un formulario desde macro

tengo un formulario que actualmente me filtra a través de un botón con un macro ="USOS_ACTIVOS.nombre='" & [cbxuso_activo] & "' me filtra por subestación pero ademas necesito que me filtre por id_subestacion desde el mismo botón.

Gracias.

.

Respuesta
1

Si tuviera que aconsejarte, te diría que usaras código de VB. Si siempre vas a elegir primero lo de subestación y después lo de ...activo, en el evento Después de actualizar del combinado de abajo, crea un procedimiento de evento y entre Private Sub y End sub puedes poner

Me.recordsource="select * from nombredelatabla where  subestacion='" & me.cbxuso_activo & "' and id_subestacion=" & me.id_subestacion & ""

Es decir, en cuanto eliges algo en el combinado de abajo( y así no necesitas botón ni nada) el origen de registros del formulario serán aquellos de la tabla origen del formulario, en que el valor del campo subestacion sea igual al que figura en el combinado de abajo y los valores del campo Id_subestación sea iguales a los que figuren en el otro combinado.

Puedes poner hasta 99 AND o OR.

Lo que pasa es que en el desplegable de abajo tiene 5 opciones y debo seleccionar cualquiera de las 5, no solo subestación tal vez no me explique.

Si tengo un formulario basado en la tabla Clientes, que puedes ver que tiene 92 registros,

Al que le he añadido dos combinados. Uno es elegirpais, que me muestra los paises que hay en la tabla, agrupados para que no se repitan, El otro combinado es Elegir Ciudad, que sólo me muestra las ciudades del pais que he elegido. Si elijo Alemania

Ahora, en el momento que elijo la ciudad

El formulario me queda como

El código del evento Después de actualizar del combinado elegirCiudad es

Private Sub ElegirCiudad_AfterUpdate()
Me.RecordSource = "select * from clientes where pais='" & Me.ElegirPais & "' and ciudad='" & Me.ElegirCiudad & "'"
End Sub

Y mira si hay más de cinco opciones en cada combinado. Cuando haces referencia a un combinado haces referencia al valor que has seleccionado.

1 respuesta más de otro experto

Respuesta
1

Has de añadr una segunda condición:

="USOS_ACTIVOS.nombre='" & [cbxuso_activo] & "' AND USOS_ACTIVOS.Id_Subestacion=" & [nombrecontrol]

Donde tendrás que cambiar lo que está en negrita por el nombre del control que contiene el valor de id_subestacion por el que quieres filtrar

¡Gracias! era lo que necesitaba.

Si te sirvió la respuesta, no dejes de valorarla ( si no lo has hecho ya).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas