Bases de Datos - Como hacer que una consulta access 2010 cambie un nulo a un valor dado por el usuario

 
Vista:

Como hacer que una consulta access 2010 cambie un nulo a un valor dado por el usuario

Publicado por jorge (4 intervenciones) el 23/06/2013 06:56:40
buenas tardes amigos necesito de su ayuda para ver como soluciono un problema que tengo con Access 2010,

Estoy haciendo una consulta de una tabla x para obtener una suma de un campo, pero cuando la consulta se ejecuta esta me da un valor nulo.

Necesito que ver como hacer que esta consulta me de un cero por ejemplo aunque no tenga nada.

he probado de todo y no he podido llegarle al problema.. les agradezco su ayuda..

aquí les subo el sql de la consulta para ver como me ayudan..

SELECT Sum(IIf(Nz([Monto],0)="",0)) AS AporteExtraordinario
FROM Deducciones
WHERE (((Deducciones.Codigodeduccion)="551") AND ((Deducciones.CodigoEmpleado)=[empleado]))
GROUP BY Deducciones.Finca
HAVING (((Deducciones.Finca)=[NombreFinca]));

he probado con isnull y nada.. no se que hacer.

el asunto es que esta consulta la utilizo en otra para anexar datos a una tabla y solo por tener un nulo no me anexa nada.
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
Imágen de perfil de xve
Val: 93
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Como hacer que una consulta access 2010 cambie un nulo a un valor dado por el usuario

Publicado por xve (107 intervenciones) el 23/06/2013 09:58:55
Hola Jorge no te entiendo muy bien, una suma de un campo siempre devuelve un valor numerico... no puede devolver un valor nulo, no?

De todas maneras, si es así, puedes utilizar:
1
select IIF(ISNULL(sum(Campo)),0,sum(Campo)) AS AporteExtraordinario ...

Coméntanos si te sirve, ok?
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

Como hacer que una consulta access 2010 cambie un nulo a un valor dado por el usuario

Publicado por jorge (4 intervenciones) el 23/06/2013 19:00:56
es correcto xve, pero el asunto es que el empleado no tiene registros en la tabla por eso el registro es nulo.

Voy a revisar lo que me mandastes.. y les aviso si me sirvió.. gracias..
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

Como hacer que una consulta access 2010 cambie un nulo a un valor dado por el usuario

Publicado por jorge (4 intervenciones) el 23/06/2013 19:24:47
Xve no me funciona pero mira a ver si puedes revisar este código y me dices porque no me anexa nada a la tabla.. revisando llegue a la conclusión que es el nulo de la consulta anterior del aporteextraordinario.


INSERT INTO TMP_EstadoCtaEmpleado ( Aporte_Patronal, Aporte_Obrero, Aporte_Extraordinario, Prestamo_Personal, Prestamo_Tienda, CodigoEmpleado, Finca )
SELECT [Aporte Patronal x Empleado].AportePatronal, [Aporte Abrero x Empleado].AporteObrero, IIf(IsNull([AporteExtraordinario]),0, ([AporteExtraordinario])) AS Extraordinario, [Deducciones Prestamo Personal x Empl y Finca].Prestamos, [Deducciones Tienda x Empl y Finca].Tienda, [Deducciones Prestamo Personal x Empl y Finca].CodigoEmpleado, [Deducciones Prestamo Personal x Empl y Finca].Finca
FROM [Aporte Abrero x Empleado], [Aporte Extraordinario x Empleado], [Aporte Patronal x Empleado], [Deducciones Prestamo Personal x Empl y Finca] INNER JOIN [Deducciones Tienda x Empl y Finca] ON ([Deducciones Prestamo Personal x Empl y Finca].Finca = [Deducciones Tienda x Empl y Finca].Finca) AND ([Deducciones Prestamo Personal x Empl y Finca].CodigoEmpleado = [Deducciones Tienda x Empl y Finca].CodigoEmpleado);

si le quito la consulta Aporte Extraordinario x Empleado si me funciona.. me puedes ayudar por favor.. es que no quiero seguir creando mas código para anexar datos a la tabla.. gracias..
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
Imágen de perfil de xve
Val: 93
Bronce
Ha mantenido su posición en Bases de Datos (en relación al último mes)
Gráfica de Bases de Datos

Como hacer que una consulta access 2010 cambie un nulo a un valor dado por el usuario

Publicado por xve (107 intervenciones) el 24/06/2013 10:25:42
Hola Jorge, a primera vista parece correcto, pero si no te da ningún error, es muy difícil que te pueda ayudar, ya que no dispongo de los datos....
Si haces únicamente:
1
SELECT IIf(IsNull([AporteExtraordinario]),0, ([AporteExtraordinario])) FROM ...

que te devuelve?
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

Como hacer que una consulta access 2010 cambie un nulo a un valor dado por el usuario

Publicado por Alixandro (18 intervenciones) el 26/06/2013 21:11:06
Jorge, veo que tienes un insert Select, si no esta insertando nada es porque las condiciones del where o join no estan cumpliendo con los datos o hay tablas involucradas que no tienen datos.

prueba con otras condiciones tales como LEFT OUTER JOIN o LEFT JOIN OUTER JOIN, si no tienes los conceptos claro sobre estos, visita san google y hay encontrara informacion suficiente.

Este que te se de ayuda. favor informarnos.

Gracias.
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