Foros del Web » Programando para Internet » ASP Clásico »

Select con varios parametros, solo devuelve resultados con el primero

Estas en el tema de Select con varios parametros, solo devuelve resultados con el primero en el foro de ASP Clásico en Foros del Web. Si ya decia yo en el post anterior que no iba a tardar muxo en volver con más problemas A ver, explico asi por encima, ...
  #1 (permalink)  
Antiguo 18/07/2003, 02:45
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 6 meses
Puntos: 8
Select con varios parametros, solo devuelve resultados con el primero

Si ya decia yo en el post anterior que no iba a tardar muxo en volver con más problemas A ver, explico asi por encima, tengo un form con una lista en la cual el usuario puede elegir varias opciones. En la página siguiente recojo lo que ha elegido y me monto la select pa hacer la búsqueda y los resultados los meto en una tabla temporal. Aqui va el código y después explico el problema:

Código PHP:
    actividad split(Request.form("actividad"),",")
    
Set rs_actividad=createobject("ADODB.Recordset")
    
rs_actividad.cursortype AdOpenKeyset
    rs_actividad
.LockType AdLockOptimistic
    sql_actividad 
"Select * From ActGenEmpresas Where "
    
For i=0 to ubound(actividad)
        
sql_actividad sql_actividad "LTRIM(STR(CodigoActividad)) LIKE '" actividad(i) &"%' OR "
    
next
    sql_actividad 
Left(sql_actividad,Len(sql_actividad)-4)
    
sql_actividad sql_actividad " Order By codigoactividad"
    
Response.write("<br><br>Sql: "&sql_actividad&"<br><br>")
    
rs_actividad.open sql_actividadconn
    
While not rs_actividad.eof
        temporal
.addnew
        temporal
.fields("CodigoEmpresa") = rs_actividad("ContadorEmpresa")
        
temporal.fields("Actividad") = rs_actividad("CodigoActividad")
        
temporal.update
        Response
.Write("<br>Codigoactividad: " rs_actividad.fields("codigoactividad"))
        
Response.Write("<br>ContadorEmpresa: " rs_actividad.fields("contadorempresa"))
        
rs_actividad.movenext
    wend 
Hasta aqui ningún problema, pillos los valores y monto la select. Por ejemplo, si el usuario ha elegido tres actividades, al final la sentencia queda así:

Código:
Select * From ActGenEmpresas Where LTRIM(STR(CodigoActividad)) LIKE '641%' OR LTRIM(STR(CodigoActividad)) LIKE ' 94%' OR LTRIM(STR(CodigoActividad)) LIKE ' 45%' Order By codigoactividad
Es decir, que la select está bien exa, no me da ningun error ni nada. Lo malo es que solo me devuelve los resultados que coinciden con el primer parámetro, pasando de los que viene despues, da = que le ponga 3 o 20, solo me saca los del primero :-p Alguien tiene idea de por que y como solucinarlo??? Espero que si, muchas gracias por adelantado a tod@a, salu2
__________________
Vayamos por Partes :: Jack el Destripador
  #2 (permalink)  
Antiguo 18/07/2003, 02:48
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 6 meses
Puntos: 8
Acabo de darme cuenta de una cosilla, a los parámetros que van detras del primer les mete un espacio!!! Supongo que por eso no encuentra nada con esa condición. Pero de donde coñe me saca ese espacio?????
__________________
Vayamos por Partes :: Jack el Destripador
  #3 (permalink)  
Antiguo 18/07/2003, 02:51
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 6 meses
Puntos: 8
Vale, ya está solucionado, le he metido otro Ltrim antes de "actividad(i)" y con eso ya me quita los espacios esos que sobra, aunq sigo sin saber de donde se los saca :|
__________________
Vayamos por Partes :: Jack el Destripador
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:09.