Access - Filtro en formulario por cuadro de texto calculado

 
Vista:
sin imagen de perfil
Val: 35
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Filtro en formulario por cuadro de texto calculado

Publicado por Argulab (18 intervenciones) el 17/10/2018 16:37:57
Estoy trabajando en un formulario que muestra los datos de una tabla, además de los campos ha añadido un cuadro de texto (bandACR) que recoge la suma de campos de cada registro que cumplen una condición, mediante la expresión:


=Silnm([campo01]='miCondicion';1;0) + Silnm([campo02]='miCondicion';1;0) + ...

El cuadro de texto funciona bien.

Ahora deseo un listado (informe) que filtre los los registros que cumplan la condición Me.form.bandACR >= 5 (por ejemplo). He creado un botón Comando28 para probar.

1
2
3
4
Private Sub Comando20_Click()
      Me.Form.Filter = "Me.Form.bandACR >= 5"
      Me.From.FilterOn = True
End Sub

Algo hago mal, gracias por cualquier tipo de ayuda
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

Filtro en formulario por cuadro de texto calculado

Publicado por jose (830 intervenciones) el 20/10/2018 19:04:32
Hola Argulab

Los informes tienen sus propios eventos y datos , los cuales se los facilitas para que te proporcione el listado de lo que necesitas

asi puedes ir a ----propiedades del formulario--->DATOS--->oRIGEN DEL REGISTRO -- ahora pulsas en "......" y se abre el generador de consultas

aqui eliges la tabla o tablas relacionadas de las que quieras sacar los datos

ahora si lo quieres condicionar a determinados datos en la linea criterios pones las condiciones .
estas pueden ser > 5 , = "madrid" , 01/01/2019 etc

pero ademas te permite que esa condición este en un cuadro de texto de un formulario
lo que hay que decierle es el formulario donde esta y el campo que quermos usar

[FORMS]![NombreFormulario]![nombrecuadroDetexto1]
puedes poner uno o varios con la palabra and
[FORMS]![NombreFormulario]![nombrecuadroDetexto1] and [FORMS]![NombreFormulario]![nombrecuadroDetexto2]

o por ejemplo en un intervalo
Between [FORMS]![LISTADOPORTIPOS]![CC1] And [FORMS]![LISTADOPORTIPOS]![CC2]

espero que te sirva

Jose Manuel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 35
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Filtro en formulario por cuadro de texto calculado

Publicado por Arsenio (18 intervenciones) el 23/10/2018 10:07:13
Gracias, ya tengo alguna experiencia manejando el generador de consultas. Quizá se me hace más sencillo manejar VBA, pero no se cómo filtrar una tabla con datos de un control.

Probaré con generador de expresiones.
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
sin imagen de perfil
Val: 35
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Filtro en formulario por cuadro de texto calculado

Publicado por Arsenio (18 intervenciones) el 23/10/2018 10:53:08
Lo que pretendo hacer es lo siguiente:

He creado un formulario para mostrar datos y editar una tabla.
En el formulario he colocado un cuadro de texto que realiza la suma de nueve campos que cumplen una condición identificado como bandACR (que toma un valor entre 0 y 9) -> Funciona

He creado un Informe INF_URE

En el formulario he creado un botón que en el evento Click lance el informe filtrando los registros que cumplan la condición bandACR >= 5

El evento "Al hacer clic" del botón, lanza un procedimiento de VBA:

1
2
3
Private Sub Comando28_Click()
    DoCmd.OpenReport "INF_URE", acViewPreview, , Me.bandACR >= 5
End Sub

Lanza el informe pero no filtra, la condición de filtro WHERE no funciona. No puedo actuar directamente sobre los campos pues la condición sería muy compleja o imposible.
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

Error con más de nueve registros

Publicado por Paula (1 intervención) el 15/10/2020 03:48:58
Hola. Uso la expresión para sumar los campos que tengo en un subformulario, sin embargo, cuando estos se convierten en más de 9 se genera un Error y no arroja el resultado.
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

Filtro en formulario por cuadro de texto calculado

Publicado por jose (830 intervenciones) el 20/10/2018 19:08:09
mirate las instrucciones SQL SELECT, INSERT INTO , DELETE ECT.

no veas la cantidad de cosas que se pueden hacer cuando lo conoces.


un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 35
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Filtro en formulario por cuadro de texto calculado

Publicado por Arsenio (18 intervenciones) el 23/10/2018 10:08:58
Un saludo y muchas gracias. Conozco algo el lenguaje de interrogación SQL pero nunca lo he utilizado en ACCeSS, creo que lo intentaré.
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
sin imagen de perfil
Val: 35
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Filtro en formulario por cuadro de texto calculado

Publicado por Arsenio (18 intervenciones) el 24/10/2018 10:26:19
Resuelto:

He creado un campo calculado en la tabla sumaACR con la condición que he aplicado al cuadro de texto

He lanzado el informe con un simple filtro donde la condición WHERE filtra el número de campos que cumplen la condición

Private Sub Comando28_Click()
DoCmd.OpenReport "INF_URE", acViewPreview, , "sumaACR >= 5"
End Sub

El error que cometía era de sintaxis. Para los programadores noveles como yo aunque tenga experiencia en programar en otros lenguajes y una edad respetable (77 tacos), los problemas de sintaxis complican mucho los resultados. Es conveniente descartar estos problemas antes de seguir.

He aprendido que cuando se quieren mostrar en un formulario datos calculados en cada registro es mejor utilizar un campo calculado que un control como un cuadro de texto.

Gracias por vuestra ayuda.
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