Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/02/2010, 11:36
Mattz
 
Fecha de Ingreso: febrero-2010
Mensajes: 2
Antigüedad: 14 años, 3 meses
Puntos: 0
Type mismatch INSOLITO!!


Tengo este "clásico error" pero solo si el string de conexión sql proviene de una función. Si en cambio lo escribo como texto, me muestra el resultado perfecto.


Alguien podría ayudarme?

Este es el string de conexión con la función grupo.

sql="select top 10 * from notas where ( coduser = " & desencrip(magic(request.querystring("u"))) & grupo(request.querystring("u")) & ") and ( mostrar = true and fechabaja is null ) order by codnota desc;"

call getrs(sql, encrip(rs5("codgrupo")))


Y este es el string que funciona bien

sql="select top 10 * from notas where ( coduser = 1 or coduser = 46 or coduser = 45) and ( mostrar = true and fechabaja is null ) order by codnota desc;"



Esta es la función grupo() en la cual paso el usuario. Por la función getrs5 no se preocupen que funciona correctamente en otras partes del sistema.

Function grupo(u)

validar5 = "0"

'Busco contactos que mi grupo comparta conmigo.
'Se busca ahora los codigos de codgrupo.
call getrs5("Select * from grupos where codgrupo = " & desencrip(magic(request.querystring("u"))) & " and activado = on and fechabaja is null order by coduser desc;")
if rs5.recordcount > 0 then
rs5.movefirst
do while not rs5.eof

grupo = grupo + " or coduser = " & int(rs5("coduser"))
validar5 = "1"

rs5.movenext
loop

end if
rs5.close
con5.close
set rs5 = nothing
set con5 = nothing




'Se busca ahora los codigos que quedaron como coduser. Antes era como codgrupo. Todo depende de quien invite a quien.
call getrs5("Select * from grupos where coduser = " & desencrip(magic(request.querystring("u"))) & " and activado = on and fechabaja is null order by coduser desc;")
if rs5.recordcount > 0 then
rs5.movefirst
do while not rs5.eof

grupo = grupo + " or coduser = " & int(rs5("codgrupo"))
validar5 = "1"

rs5.movenext
loop

end if
rs5.close
con5.close
set rs5 = nothing
set con5 = nothing


if validar5 = "0" then
grupo = ""
end if

end function




Por último, el maldito error:

Microsoft VBScript runtime (0x800A000D)
Type mismatch


Espero puedan ayudarme. Mil gracias desde ya!