Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/07/2003, 02:45
Avatar de angel_dope
angel_dope
 
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 22 años, 5 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