Es normal esto?????

31/05/2004 - 00:58 por Orlando Rios | Informe spam
Resulta que estoy usando una tabla en HTML para deplegar
los resultados de un cliente, si algún campo está vaio
entonces no se dibuja el borde y se ve "feo" para eso se
me ocurrió hacer lo sig:

if(trim(ob_rs("atn"))="" or isnull(trim(ob_rs("atn")))
=true)then
Response.Write " "
ELSE
Response.Write ob_rs("atn")
end if

funciona bien con todos los demás tipos excepto MEMO de
access, a pesar de que el campo tenga información entra
en verdaero, como si no tuviera nada el campo. Me quede
sorprendido y probe los valores uno x uno y son false,
entonces cual es el problema???. Detecté que cuando se
utilizan 2 ob_rs("atn") se pierde el valor del segundo,
por lo que tengo que hacer :

observa=trim(ob_rs("seee"))
if(observa="" or isnull(observa))then
Response.Write " "
ELSE
Response.Write observa
end if

porque se pierden los valores con ese tipo de dato???
es un bug???

Pruebenlo,
Saludos

Preguntas similare

Leer las respuestas

#1 Franco Figún
31/05/2004 - 02:17 | Informe spam
Si, es posible que pase eso...recuerdo que me pasó exactamente lo mismo
cuando quería llenenar campos vacios con asp 3.0, realmente un desastre...
Yo uso una funcion como esta para lo que son campso vacios:

Function CheckString(strValue)
If Len(strValue & "") = 0 Then
CheckString = " "
Else
CheckString = strValue
End If
End Function

La saque de un libro muy bueno.
Sobre lo de usar 2 rs, el problema pasa (creo yo), si antes no declaras ese
rs, y despues lo podes usar varias veces.
Espero te sirva...


FF
www.francofigun.com.ar
www.microsofties.com.ar
MSN:
UIN: 305336919
Yahoo MSN:
"Orlando Rios" wrote in message
news:157f601c44699$a385ebe0$
Resulta que estoy usando una tabla en HTML para deplegar
los resultados de un cliente, si algún campo está vaio
entonces no se dibuja el borde y se ve "feo" para eso se
me ocurrió hacer lo sig:

if(trim(ob_rs("atn"))="" or isnull(trim(ob_rs("atn")))
=true)then
Response.Write " "
ELSE
Response.Write ob_rs("atn")
end if

funciona bien con todos los demás tipos excepto MEMO de
access, a pesar de que el campo tenga información entra
en verdaero, como si no tuviera nada el campo. Me quede
sorprendido y probe los valores uno x uno y son false,
entonces cual es el problema???. Detecté que cuando se
utilizan 2 ob_rs("atn") se pierde el valor del segundo,
por lo que tengo que hacer :

observa=trim(ob_rs("seee"))
if(observa="" or isnull(observa))then
Response.Write " "
ELSE
Response.Write observa
end if

porque se pierden los valores con ese tipo de dato???
es un bug???

Pruebenlo,
Saludos
Respuesta Responder a este mensaje
#2 Dani Castillo
31/05/2004 - 14:09 | Informe spam
es normal por el tratamiento de nulls

if null or true
devuelve null siempre

if trim(null) or true

devuelve null tambien


la solucion, la que te ha pasado Franco Figún , o bien usar directamente

if (trim(ob_rs("atn") & "")="" ) then
response.write " "
else
response.write ob_rs("atn")
end if


____________________________
Daniel Castillo Martinez
Ajuntament d'Alaquàs. Societat de la Informació

____________________________
"Orlando Rios" escribió en el mensaje
news:157f601c44699$a385ebe0$
Resulta que estoy usando una tabla en HTML para deplegar
los resultados de un cliente, si algún campo está vaio
entonces no se dibuja el borde y se ve "feo" para eso se
me ocurrió hacer lo sig:

if(trim(ob_rs("atn"))="" or isnull(trim(ob_rs("atn")))
=true)then
Response.Write " "
ELSE
Response.Write ob_rs("atn")
end if

funciona bien con todos los demás tipos excepto MEMO de
access, a pesar de que el campo tenga información entra
en verdaero, como si no tuviera nada el campo. Me quede
sorprendido y probe los valores uno x uno y son false,
entonces cual es el problema???. Detecté que cuando se
utilizan 2 ob_rs("atn") se pierde el valor del segundo,
por lo que tengo que hacer :

observa=trim(ob_rs("seee"))
if(observa="" or isnull(observa))then
Response.Write " "
ELSE
Response.Write observa
end if

porque se pierden los valores con ese tipo de dato???
es un bug???

Pruebenlo,
Saludos
Respuesta Responder a este mensaje
#3 Alvaro G Vicario
31/05/2004 - 18:12 | Informe spam
*** Orlando Rios wrote/escribió (Sun, 30 May 2004 15:58:36 -0700):
funciona bien con todos los demás tipos excepto MEMO de
access, a pesar de que el campo tenga información entra
en verdaero, como si no tuviera nada el campo.



Creo que es un bug que lleva por ahí varios años dando guerra y afecta a
las variables que toman su valor de un campo "memo" de Access. Si haces
experimentos más exactos verás que la variable pierde el valor después de
usarla por primera vez.

La solución más sencilla que he encontrado es usar trim(rs("loquesea")). No
sé por qué, al hacer un trim() deja de perder el valor.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida