Access - Campo Calculado en Consulta

   
Vista:

Campo Calculado en Consulta

Publicado por Angel Andres (84 intervenciones) el 09/12/2007 00:51:10
Hola a todos y desde ya muchas gracias. Espero poder explicarme... tengo cuatro campos CAMPO_1, CAMPO_2, CAMPO_3, CAMPO_4, en los que almaceno una cantidad determinada. Debo crear otro campo calculado en que deba contar cuantos de estos campos no tienen cantidad. EJ.

CAMPO_1 CAMPO_2 CAMPO_3 CAMPO_4 CAMPO_CALCULADO
1 1
30 1 2
5 1 10 3
Bueno espero haberme podido explicar y quedo a la espera de una respuesta. Gracias.
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:Campo Calculado en Consulta

Publicado por Pepe (766 intervenciones) el 09/12/2007 03:40:51
Yo utilizaría la función SiInm («expresión»; «parteVerdadera»; «parteFalsa») para cada campo y luego sumaria los resultados de las cuatro expresiones en ese campo que necesitas.

Te pongo un ejemplo
Expr1:SiInm ([campo_1]=0; 1; 0)
Expr2:SiInm ([campo_2]=0; 1; 0)
Expr3:SiInm ([campo_3]=0; 1; 0)
Expr4:SiInm ([campo_4]=0; 1; 0)
Campo calculado:[expr1]+[expr2]+[expr3]+[expr4]

Suerte, Pepe
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:Campo Calculado en Consulta

Publicado por Angel Andres (84 intervenciones) el 10/12/2007 07:42:38
Gracias Pepe. Te cuento y les cuento a todos los que puedan leer esta nota que me diste una buena idea con la manera de resolver mi problema. Investigué la función Silnm y puede lograr que mis cuatro campos me muesten uno o cero dependiendo si tienen o no una cantidad determinada; con las siguientes expresiones:
Expr1: SiInm(EsNulo(Campo_1]),"0",1)
Expr2: SiInm(EsNulo(Campo_2]),"0",1)
Expr3: SiInm(EsNulo(Campo_3]),"0",1)
Expr4: SiInm(EsNulo(Campo_4]),"0",1)
Tuve que utilizar la función EsNulo dado que al poner el campo = 0, me daba err.
Ahora bien... access sólo me permitía poner al 0 como un campo caracter. Por lo que creí necesario usar:
Expr1: CSimple(SiInm(EsNulo([Campo_1]),"0",1))
Expr2: CSimple(SiInm(EsNulo([Campo_2]),"0",1))
Expr3: CSimple(SiInm(EsNulo([Campo_3]),"0",1))
Expr4: CSimple(SiInm(EsNulo([Campo_4]),"0",1))
Es decir convertí a Número Simple utilizando la función de converción CSimple. No quedandome con ello y viendo que generaba cuatro campos en mi consulta innecesarios llegué a la siguiente expresión:

CampoCalculado: (CSimple(SiInm(EsNulo([Campo_1]),"0",1)))+(CSimple(SiInm(EsNulo([Campo_2]),"0",1)))+(CSimple(SiInm(EsNulo([Campo_3]),"0",1)))+(CSimple(SiInm(EsNulo([Campo_4]),"0",1)))

Me tomé tiempo para explicar mi trabajo (el que surgió en una noche en la cual el sueño me abandonó), porque pensé que tal vez, pueda ayudar a alguien que tenga un problema similar al mío. GRACIAS y me da placer saber que hay gente que se preocupa por el problema de los demás!
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