Access - Criterio ( Me tiene loco!!)

 
Vista:

Criterio ( Me tiene loco!!)

Publicado por Evaristo M (9 intervenciones) el 05/11/2004 10:54:11
Buenos días a todos/as.

Intento establecer un criterio para que, al pasarle un dato desde un formulario donde establezco lo que quiero filtrar, el informe me de el resultado, discriminando en el campo TIPO segun lo que determino en la variable VTIPO del formulario, que puede ser I o G (Ingreso o Gasto) o T si necesito todos los registros (Ingresos y gastos)
Lo intento con los siguientes criterios:

SiInm(([forms]![Filtro1]![VTipo]="T");([Movimientos].[Tipo])<="X";[forms]![Filtro1]![VTipo])

SiInm(([]="T");([Movimientos].[Tipo])<>"X";[forms]![Filtro1]![VTipo])

iif (isnull([forms]![Filtro1]![VTipo]);"*";[forms]![Filtro1]![VTipo])

...y con ninguno de estos criterios me funciona bien. Si selecciono I o G me da lo que quiero, pero si selecciono T, o en la ultima opcion si no selecciono nada, no me da ningun resultado.

Me tiene loco !!! Gracias a todos/as por vuestro tiempo.
Un saludo.
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

RE:Criterio ( Me tiene loco!!)

Publicado por 2pl (23 intervenciones) el 05/11/2004 17:51:02
Como SiInm(EsNulo([FORMS]![NOMBREFORMULARIO]![CAMPOFORMULARIO]);"*";[FORMS]![NOMBREFORMULARIO]![CAMPOFORMULARIO])

TRADUCIDO:
SI NO INTRODUZCO NINGUN DATOS SALDRAN TODOS Y SI NO, SALDRAN LOS QUE COINCIDAN CON DATOS INTRODUCIDO.

LO QUE TU QUIERES:
IIF([FORMS]![NOMBREFORMULARIO]![CAMPOFORMULARIO]="I";[CAMPOBD]="LOQUE QUIERA";IIF([FORMS]![NOMBREFORMULARIO]![CAMPOFORMULARIO]="G";[CAMPOBD]="LOQUE QUIERA";[CAMPOBD]="LOQUE QUIERA"))

TRADUCIDO:
SI ES I SACA SEGUN EL CRITERIO QUE PONGAS, SI ES G SACA SEGUN EL CRITERIO QUE QUIERAS Y SI NO ES NI I NI G SACA EL CRITERIO QUE QUIERAS
SALUDOS Y SI NO LO ENTIENDES ME PONES UN CORREO.
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

RE:Criterio ( Me tiene loco!!)

Publicado por Evaristo M (9 intervenciones) el 06/11/2004 11:52:47
Antes de nada , muchas gracias por tu tiempo. En efecto lo que quiero es que me de los registros que tengan en el campo TIPO segun yo determine; I o G, y si marco T pues que me de todos (I y G). Creo que la mejor opcion es la que indicas en primer lugar, pero no consigo que funcione. Como te decia, si selecciono I o G si me funciona, pero si no le pongo nada, no da ningun resultado. Yo la pongo asi:

iif (isnull([forms]![Filtro1]![VTipo]);"*";[forms]![Filtro1]![VTipo])

Donde Filtro1 es un formulario donde selecciono el criterio (I o G) y Vtipo es la variable que contiene ese criterio. Es como si el criterio del informe no entendiera eso del asterisco.

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
0
Comentar

RE:otra vez 2pl

Publicado por 2pl (23 intervenciones) el 06/11/2004 18:31:32
Te falta la palabra como
como iif (isnull([forms]![Filtro1]![VTipo]);"*";[forms]![Filtro1]![VTipo])
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

RE:Criterio ( Me tiene loco!!)

Publicado por Victoria (1530 intervenciones) el 06/11/2004 14:39:16
Otra forma
Asignar el origen de datos al informe, es decir, crear la SQL
En el event OPEN del informe:¡, pon como origen de datos: (adecúa los valores que yo uso en este ejemplo a los tuyos reales)

"select campo.... from.... where tipo="& forms!filtro1!Vtipo

Un saludo
Victoria
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

RE:Criterio ( Me tiene loco!!)

Publicado por Evaristo M (9 intervenciones) el 06/11/2004 17:40:42
Gracias Victoria por tu tiempo.

De esta forma, lo que consigo es que me de los registros que en el campo TIPO tengan el mismo dato (I o G) que en la variable Vtipo, pero al igual que con la anterior formula, no me da todos los registros cuando le pongo T de todos, o blanco, o lo que sea, porque en ese campo TIPO solo los hay con valor I o G, ningun registro tiene otros datos.

Sigo intentando con este criterio:

SiInm(([forms]![Filtro1]![VTipo]="T");"*";[forms]![Filtro1]![VTipo])

Pero no consigo que termine de funcionar.
La segunda parte de esta expresion, a partir del asterisco funciona muy bien, me da segun selecciono I o G. Pero la primera parte, es decir, cuando selecciono como argumento T, no da ningun resultado. Creo que es porque, tal y como yo la tengo puesta, lo que hace es buscar registros que tengan en Tipo el valor *, y no lo entiende como signo comodin.

Alguna idea? A mi se me estan acabando....
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
0
Comentar

RE:Criterio ( Me tiene loco!!)

Publicado por Evaristo M (9 intervenciones) el 06/11/2004 19:39:09
Por fin, ya funciona.
GRACIAS A TODOS. Un abrazo.
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