SQL - como comparo el valor de un recordset

 
Vista:

como comparo el valor de un recordset

Publicado por andrey (11 intervenciones) el 15/12/2003 20:43:00
Estoy haciendo en Vb una aplicacion y quiero comparar el valor de una consulta, los valores los tomo con el Rst pero cuando es null no entra al ciclo.. les pongo el ejemplo..

Cursores rstPromedio, "select round(AVG(convert(real(9,1),Preg9)),2) from TPreguntas where ISNUMERIC(Preg10) = 1 and area = '" & Trim(N_area) & "'", cnn
If Trim(rstPromedio.Fields(i)) = Null Then
MsgBox "NO HAY ENCUESTAS REGISTRADAS", vbInformation, "Mensaje"
Exit Sub
Else
MSChart1.Data = rstPromedio.Fields(i)
End If
Loop While rstAreas.Fields(i) <> Null
El resultado de la consulta es NULL osea que aqui (If Trim(rstPromedio.Fields(i)) = Null Then)debe de entrar al ciclo pero se salta no se a que se deba... alguien que me heche la mano se lo agradecere bastante...
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:como comparo el valor de un recordset

Publicado por Isaías Islas (5072 intervenciones) el 16/12/2003 00:26:56
If Trim(rstPromedio.Fields(i)) = IS NULL
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:como comparo el valor de un recordset

Publicado por andrey (11 intervenciones) el 16/12/2003 17:15:02
No funciono... se lo puse asi y nada.... para empesar no acepta el lexico ese...
If Trim(rstPromedio.Fields(i)) = IS NULL y si lo pongo asi:
If Trim(rstPromedio.Fields(i)) = IsNULL then si acepta el lexico pero al momento de correrlo se atora y me marca error... que pasa se podra?? si que me urge...
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:como comparo el valor de un recordset

Publicado por Isaías Islas (5072 intervenciones) el 16/12/2003 18:49:34
¿Estas desarrollando en VB?
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:como comparo el valor de un recordset

Publicado por andrey (11 intervenciones) el 16/12/2003 19:07:15
Si en VB 6 y SQL Server 7....
ya probe con esto mira...

if rstAreas.Fields(i) isNull then
if rstAreas.Fields(i) = Null then
if Not rstAreas.Fields(i) isNull then
etcetc..
le modifico los datos para ver si entra de alguna forma y no entra al ciclo...


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:como comparo el valor de un recordset

Publicado por Isaías Islas (5072 intervenciones) el 16/12/2003 19:24:51
Esta es la correcta

if rstAreas.Fields(i) isNull then

Ahora bien, si NO entra al ciclo, es porque NO trae NULL, puedes modificar tu sentencia desde SQL

CASE WHEN MyCol is null then 0 else MyCol END

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

Aqui te va el codigo checalo...

Publicado por andrey (11 intervenciones) el 16/12/2003 19:36:38
Checate Isaias esto es lo que tengo y este error genera...
If Combo1.Text = "Mantenimiento" Then
Call grafica_normal
Cursores rstAreas, "Select area from TAreas", cnn
i = 0
Do While rstAreas.EOF <> True
N_area = rstAreas.Fields(i)
Cursores rstPromedio, "select round(AVG(convert(real(9,1),Preg9)),2) from TPreguntas where ISNUMERIC(Preg10) = 1 and preg2 = '" & Trim(N_area) & "'", cnn
If not rstPromedio.Fields(i) IsNull Then
'MSChart1.Data = rstPromedio.Fields(i)
MsgBox "Entre"
End If
i = i + 1
Loop
Set rstPromedio = Nothing

ERROR. NI SIQUEIRA ME DEJA CORRERLO...
Compile error:
Expectec: Then or GoTo
ADEMAS QUE CUANDO LO DEBUGEO ME DA LOS VALORES Y VEO QUE TENGO NULL EN ESE RECORDSET
rstPromedio.Fields(i)=Null
Que es lo que pasa!???
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:Aqui te va el codigo checalo...

Publicado por Isaías Islas (5072 intervenciones) el 16/12/2003 20:47:19
Amigo, si "Preg9" (o el resultado de la operacion con esta columna) es NULL, resuelvelo desde SQL

Existe una funcion para cambiar el NULL, checa esto:

ISNULL(Preg9,0)

Si Preg9 es NULL, lo cambia por un CERO.
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