|
Responder
|
| Autor | |
maserrano
Colaborador
Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 690 |
Tema: Filtrar formulario por dos camposEnviado: 05/Febrero/2020 a las 23:51 |
|
Hola muy buenas.
Necesito filtrar los datos de un formulario por dos de sus campos. Estos campos son cuadros combinados del formulario y no sé filtrar por más de un campo. El filtro se aplicaría p.e. en un evento de clic de un botón. Me pueden indicar cómo puedo hacerlo. Gracias por adelantado.
|
|
![]() |
|
mounir
Colaborador
Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6521 |
Enviado: 06/Febrero/2020 a las 00:07 |
|
Hola!
Mírate este hilo y descarga el ejemplo:- http://www.mvp-access.com/foro/filtro-multiple-en-subform-desde-form_topic82308.html |
|
|
Un Saludo.
|
|
![]() |
|
emiliove
Administrador
Unido: 16/Junio/2009 Localización: Mexico Estado: Sin conexión Puntos: 5704 |
Enviado: 06/Febrero/2020 a las 00:25 |
|
Y como filtras por un solo campo, has oído hablar de los operadores AND y OR Saludos.
|
|
![]() |
|
rokoko
Colaborador
Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3071 |
Enviado: 06/Febrero/2020 a las 07:44 |
|
Mira estos ejemplos
https://www.dropbox.com/s/xo2vqgqzicu0hw5/3%20filtros.rar?dl=0 Pon un rango de fechas, que esten en la tabla claro. Y luego utiliza los dos cuadros combinados otro https://www.dropbox.com/s/j8eyo7p1wc1o3jg/COMBOS%20TODOS%20EN%20CASCADA%20%2B%20filtro%20formulario.mdb?dl=0 |
|
![]() |
|
maserrano
Colaborador
Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 690 |
Enviado: 06/Febrero/2020 a las 13:46 |
|
Miro los ejemplos y comento.
Pero de momento no consigo que me funcione. El caso es que los usuarios trabajan con Runtime y no sé configurar bien una barra Ribbon. Antes, con 2003, configuraba un menú contextual (habilitado en el botón derecho del ratón) para las funcionalidades básicas, y me funcionaba con el mde (runtime). Ahora tengo que dejar en comandos los controles básicos como ordenar registros, filtrar, etc. ..., y es que no consigo filtrar por dos campos a la vez. Pero, veo los ejemplos y me pongo a ello. Gracias.
|
|
![]() |
|
maserrano
Colaborador
Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 690 |
Enviado: 06/Febrero/2020 a las 23:37 |
|
Debido a las restricciones mencionadas (la aplicación se abre con Runtime), he conseguido algo, filtrar por un campo. Veamos:
En el formulario que quiero filtrar por un campo coloco un botón de comando que a su vez me abre un formulario con un combo (cuadro combinado) con los datos que quiero filtrar como primer filtro. En el evento después de actualizar este cuadro combinado tengo el siguiente código: Private Sub cbo_BuscaEntidad_AfterUpdate() 'Creamos la variable y le asignamos el valor Dim vEntidad As Variant vEntidad = Me.cbo_BuscaEntidad.Value 'Si no hay valor sale del proceso If IsNull(vEntidad) Then Exit Sub DoCmd.OpenForm "FRegisbal", , , "[CodEntidad]='" & vEntidad & "'" DoCmd.Close acForm, Me.Name End Sub Lo que no consigo es concatenar el siguiente filtro (a la vez) en el DoCmd.OpenForm; además, en este filtro sólo hay dos valores con lo que el filtro sería fijo (siempre el mismo valor): Los dos valores son: 173/2001 281/2002 Sería filtrar siempre por el mismo valor "281/2002". También supongo que debe ser con el operador AND... pero no me sale el código, pruebo y no me filtra o, me da error en la sintaxis... Alguna sugerencia? Gracias de nuevo |
|
![]() |
|
rokoko
Colaborador
Unido: 16/Febrero/2008 Localización: Pamplona Estado: Sin conexión Puntos: 3071 |
Enviado: 06/Febrero/2020 a las 23:45 |
|
Y si ese formulario lo basas en una consulta como origen de los datos, y esta la utilizas para filtrar. Que pille ese valor fijo y el otro del del cuadro combinado. Actulalizas el formulario y te mostrara los datos que quieres.
Los ejemlos que te he puesto si no recierdo mal lo hacen asi......es relativamente sencillo, una vez viendo como funcionan. Saludos
|
|
![]() |
|
maserrano
Colaborador
Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 690 |
Enviado: 07/Febrero/2020 a las 13:31 |
|
Pues no sé relacionar consulta y formulario y que me muestre el mismo actualizado.
Voy a ver si "destripo" el funcionamiento de esas consultas. Salu2
|
|
![]() |
|
maserrano
Colaborador
Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 690 |
Enviado: 07/Febrero/2020 a las 14:08 |
|
Que hay de error en esta línea de código??
DoCmd.OpenForm "FRegisbal", , , "[CodEntidad]='" & vEntidad & "' AND TipoDecreto = '281/2002'"
|
|
![]() |
|
mounir
Colaborador
Unido: 09/Febrero/2009 Localización: Asturias-España Estado: Sin conexión Puntos: 6521 |
Enviado: 07/Febrero/2020 a las 14:34 |
|
Hola!
Guarda este valor en una variable y así evitas este problema:-
|
|
|
Un Saludo.
|
|
![]() |
|
maserrano
Colaborador
Unido: 02/Abril/2014 Localización: España Estado: Sin conexión Puntos: 690 |
Enviado: 07/Febrero/2020 a las 15:47 |
|
Muchas gracias.
Supongo que me falta destreza. Al final también intenté declarar la variable del valor del combo y también me funcionó. Lo que no entiendo es que eso mismo lo probé al principio y no funcionaba y me desesperaba. AL final es lo mismo, te falta o te sobra algo... Lo que yo he propuesto es: Private Sub cbo_BuscaEntidad_AfterUpdate() Dim vEntidad As Variant Dim vDecreto As Variant vEntidad = Me.cbo_BuscaEntidad.Value If IsNull(vEntidad) Then Exit Sub vDecreto = Me.cbo_BuscaDecreto.Value If IsNull(vDecreto) Then Exit Sub 'Abrimos el formulario filtrado por entidad y decreto DoCmd.OpenForm "FRegisbal", , , "[CodEntidad]='" & vEntidad & "' And [TipoDecreto]='" & vDecreto & "'" DoCmd.Close acForm, Me.Name End Sub Gracias. Se puede cerrar el hilo.
Editado por maserrano - 07/Febrero/2020 a las 15:47 |
|
![]() |
|
Responder
|
|
|
Tweet
|
| Ir al foro | Permisos de foro ![]() Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |