Visual Basic - SELECT SUM () que me da NULL

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil
Val: 179
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SELECT SUM () que me da NULL

Publicado por Alberto (115 intervenciones) el 25/12/2017 10:16:50
De nuevo una consulta: quiero sumar la columna importe de la tabla remesas para los registros que tienen como inversor a AMG y en platform platformx
No hay ningún valor vacío en la columna importe ni en los otros campos de las condiciones.
En la línea de código

1
resultadorem = Rs2(0)
se me dice para resultadorem = 0
y para Rs2(0) = Nulo
En la MsgBox se me presenta lógicamente 0

El código que he puesto para la suma es:
1
2
3
4
Rs2.Open "SELECT sum(importe) AS 'importerem' FROM remesas WHERE inversor = 'AMG' AND platform = ' " & platformx & " ' ", Cn, adOpen_static, adLockPessimistic
resultadorem = Rs2(0)
 
MsgBox "Importe remesas " & resultadorem

Este mismo procedimiento lo tengo en un programa que hice hace algún año y funcionaba. Pregunto ¿por qué me da este valor NULL y cómo evitarlo? ¿Hay algún error en la línea Rs2.Open...? Utilizo V.B. 6.0

Muchas 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
sin imagen de perfil
Val: 179
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SELECT SUM () que me da NULL

Publicado por Alberto (115 intervenciones) el 25/12/2017 15:50:08
Como complemento a lo anterior diré queel campo importe tanto en Access 2007 como en la Text.Box como en la definición de las variables en el código está definido como Currency.
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 Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SELECT SUM () que me da NULL

Publicado por Andres Leonardo (1798 intervenciones) el 26/12/2017 14:53:31
Si haces esta misma suma en el Codificador Sentencias SQL del ACCESS te da lo mismo??

"SELECT sum(importe) AS 'importerem' FROM remesas WHERE inversor = 'AMG' AND platform = ' " & platformx & " ' "

Debes sacar esa misa sentencia del codigo , puede ser que que le pongas algo asi ...


1
2
3
4
5
Dim strsql as string
strsql =  "SELECT sum(importe) AS 'importerem' FROM remesas WHERE inversor = 'AMG' AND platform = ' " & platformx & " ' "
debug.print strsql   'Esto hara que en el Inmediato se ponga la sentencia, adicioanl que valor tiene platformx
Rs2.Open  strsql , Cn, adOpen_static, adLockPessimistic
resultadorem = Rs2(0)

Con esta sentencia ponlo en el que ejecuta las sentencias de sql en ACCESS e indicnos que resultado rtienes,

me parece que plataformx no es una variable si no mas bien contante deberia ser asi

1
2
3
4
5
Dim strsql as string
strsql =  "SELECT sum(importe) AS 'importerem' FROM remesas WHERE inversor = 'AMG' AND platform = 'platformx'' "
debug.print strsql   'Esto hara que en el Inmediato se ponga la sentencia, adicioanl que valor tiene platformx
Rs2.Open  strsql , Cn, adOpen_static, adLockPessimistic
resultadorem = Rs2(0)

.
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: 179
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SELECT SUM () que me da NULL

Publicado por Alberto (115 intervenciones) el 27/12/2017 05:09:35
Muchas gracias por tu ayuda. He encontrado un campo vacío que originaba ese NULL en la suma. Repito, muchas 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
sin imagen de perfil
Val: 179
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SELECT SUM () que me da NULL

Publicado por Alberto (115 intervenciones) el 27/12/2017 16:33:10
Aunque esto no será de utilidad a los expertos usuarios del foro, para quien sea tan ignorante como yo ahí va la solución para el NULL cuando realmente hay campos vacíos:
1
2
3
4
5
6
SELECT SUM(...)
If Not IsNull (Rs1.Fields(0)) Then
    resumentotal = Rs1(0)
Else
    resumentotal = 0
End If
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 Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

SELECT SUM () que me da NULL

Publicado por Andres Leonardo (1798 intervenciones) el 27/12/2017 17:53:37
Estimado Alberto

pues si es ayuda , el tema era que tu nunca indicaste que querias validar si el valor era NULO te de Cero.

SAludos
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