If Not IsEmpty(rs.Fields("ventas"))

andru1x
20 de Enero del 2004
hola resulta que tengo una tabla (aceess) con dos campos "cantidad" ; "ventas" y desde un formulario hago una consulta para que me de el resultado de cantidad - ventas
algo asi

rs.Open "SELECT * FROM producto", base, adOpenDynamic, adLockOptimistic

Dim total6 As Integer
Dim total7 As Integer

Do While Not rs.EOF

total6 = total6 + rs.Fields("cantidad")
total7 = total7 + rs.Fields("ventas")
rs.MoveNext
loop
Label10.Caption = total6 - total7

el problema es que cuando ingreso en el campo "cantidad" un numero y en el cam po" ventas " no ingreso nada ,me da error cuando comienza el bucle..(do while loop)
como compruevo que,si en el campo ventas no hay un valor me ponga un 0 -
ya prove poner dentro del bucle esto

If Not IsEmpty(rs.Fields("ventas")) Then
rs.Fields("cantidad") = 0
Else
pero me pone todo a cero asi que la suma de las ventas siempre es 0

sdemingo
20 de Enero del 2004
Por qué preguntas si no es vacío?
Normal que te ponga todo a ceros....

If IsEmpty(rs.Fields("ventas")) Then

Saludos
sdemingo

andru1x
20 de Enero del 2004

Do While Not rs.EOF

If IsEmpty(rs.Fields("ventas")) Then
rs.Fields("ventas") = 0
End If

If (rs.Fields("cantidad")) Then
rs.Fields("cantidad") = 0
End If

total6 = total6 + rs.Fields("cantidad")
total7 = total7 + rs.Fields("ventas")
rs.MoveNext
Loop
ya prove con lo que tu dices pero me da error 94" invalid use of Null
Hay alguna otra forma de comprovar si el recordset o campo esta vacio?


andru1x
20 de Enero del 2004
hola ya resolvi el problema ,es que los campos de la base de datos eran tipo texto..(soy medio tonto).. lo cambie a numerico entonces se completa solo cada ves que ingreso una "cantidad" automaticamente en "ventas" se pone un 0

gracias de todas formas

ecram
20 de Enero del 2004
otra opcion es usar IsNull(rs.Fields("ventas"))
como asi
if IsNull(rs.Fields("ventas")) then val=0
esto significa que no hay valor dentro del campo cuando lo buscas, si te sirve chevere