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

Problema con if para seleccionar que consulta sql ejecutar :(

Estas en el tema de Problema con if para seleccionar que consulta sql ejecutar :( en el foro de ASP Clásico en Foros del Web. hola, tengo un reportador en el cual me permite digamos seleccionar en un formulario cierto dato por "tubo" es decir el tubo B,C,D,E,F la consulta ...
  #1 (permalink)  
Antiguo 02/06/2010, 07:51
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 16 años, 5 meses
Puntos: 2
Problema con if para seleccionar que consulta sql ejecutar :(

hola, tengo un reportador en el cual me permite digamos seleccionar en un formulario cierto dato por "tubo" es decir el tubo B,C,D,E,F

la consulta con asp quedaria mas o menos asi:

Código ASP:
Ver original
  1. registros.open"SELECT p.peso,p.vaso,p.fecha, o.linea,o.tubo FROM pesos as p, optimas as o where o.codigo = p.codOptima and o.linea = '"&linea&"' and o.tubo = '"&tubo&"'  AND p.fecha Between '"&calendar1&"' AND '"&calendar2&"'" ,conexion
el problema es que eso me seleccionaria solo lo de un tubo, y si en algun caso el usuario quiciera seleccionar el reporte pero de "todos los tubos" tendria que poner otra consulta con un if pero ya lo intente y me dio un error, muestro mi code asp:
Código ASP:
Ver original
  1. <%
  2.  
  3. dim conexion,calendar1,calendar2,registros,linea
  4. calendar1=request.form("calendar1")
  5. calendar2=request.form("calendar2")
  6. linea=request.form("linea")
  7. Tubo=request.form("tubo")
  8.  
  9. SET conexion=Server.CreateObject("ADODB.Connection")
  10. conexion.Open "PROVIDER=SQLOLEDB; DATA SOURCE=VALP-MESSRV02;UID=sa;PWD=messrv;DATABASE=wasp "
  11. SET registros=Server.CreateObject("ADODB.RecordSet")
  12. 'registros.open"SELECT peso,tubo from pesos where fecha  between '"&calendar1&"' AND '"&calendar2&"'",conexion
  13. 'if linea=1 Then
  14.  
  15. 'registros.open"SELECT p.peso,p.tubo,p.fecha, o.linea FROM pesos as p, optimas as o where o.codigo = p.codOptima  AND p.fecha Between '"&calendar1&"' AND '"&calendar2&"'order by linea",conexion
  16. 'else
  17. registros.open"SELECT p.peso,p.vaso,p.fecha, o.linea,o.tubo FROM pesos as p, optimas as o where o.codigo = p.codOptima and o.linea = '"&linea&"' and o.tubo = '"&tubo&"'  AND p.fecha Between '"&calendar1&"' AND '"&calendar2&"'" ,conexion    
  18. 'end if
  19. do while not registros.eof
  20.  
  21. response.write("<tr>")
  22. response.write("<td>"&registros.fields("linea")&"</td>")
  23. response.write("<td>"&registros.fields("peso")&"</td>")
  24. response.write("<td>"&registros.fields("vaso")&"</td>")
  25. response.write("<td>"&registros.fields("tubo")&"</td>")
  26. response.write("<td>"&registros.fields("fecha")&"</td>")
  27. registros.movenext
  28.  
  29.  
  30. loop
  31. conexion.close
  32.  
  33.  
  34. 'SELECT p.peso,p.tubo,p.fecha, o.linea FROM pesos as p, optimas as o where o.codigo = p.codOptima and o.linea = 'L02N'  AND p.fecha Between '2010-05-11 09:42:34.000' AND '2010-05-11 09:42:39.000'
  35.  
  36. %>
Nose por que me da un error de string, pero esto es si activo los if que tengo comentados ya que intente lo mismo para "lina" para poder consultar todas las lineas, dejo mi code html haber si me pueden hechar una manita :(
Código HTML:
Ver original
  1. <form action="show2.asp" method="post">
  2. Start Date: <input  type="text" name="calendar1" id="calendar1"/><br><br>
  3. End Date:    <input  type="text" name="calendar2" id="calendar2"/><br>
  4. <select name="tubo">
  5. <option STYLE="background:yellow; color:black" value=A>A</OPTION>
  6. <option STYLE="background:yellow; color:black" value=B>B</OPTION>
  7. <option STYLE="background:yellow; color:black" value=C>C</OPTION>
  8. <option STYLE="background:yellow; color:black" value=D>D</OPTION>
  9. <option STYLE="background:yellow; color:black" value=E>E</OPTION>
  10. <option STYLE="background:yellow; color:black" value=F>F</OPTION>
  11. <select name='linea'>
  12. <!--<option value=1>all</option>-->
  13. <option STYLE="background:blue color:black" value=L15N>L15N</option>
  14. <option STYLE="background:blue; color:black" value=L16N>L16N</option>
  15. <option STYLE="background:blue; color:black" value=L16S>L16S</option>
  16. <option STYLE="background:blue; color:black" value=L16S>L16S</option>
  17. <option STYLE="background:blue; color:black" value=L17N>L17N</option>
  18. <option STYLE="background:blue; color:black" value="L17S">L17S</option>
  19. <option STYLE="background:blue; color:black" value=L17S>L17S</option>
  20. <option STYLE="background:blue; color:black" value=L16N>L16N</option>
  21. <option STYLE="background:blue; color:black" value=L16S>L16S</option>
  22. <option STYLE="background:blue; color:black" value=L17N>L17N</option>
  23. <option STYLE="background:blue; color:black" value=L17N>L17N</option>
  24. <option STYLE="background:blue; color:black" value=L17S>L17S</option>
  25. <option STYLE="background:yellow; color:black" value=L01N>L01N</option>
  26. <option STYLE="background:yellow; color:black" value=L01N>L01N</option>
  27. <option STYLE="background:yellow; color:black" value=L01S>L01S</option>
  28. <option STYLE="background:yellow; color:black" value=L01S>L01S</option>
  29. <option STYLE="background:yellow; color:black" value=L01S>L01S</option>
  30. <option STYLE="background:yellow; color:black" value=L06N>L06N</option>
  31. <option STYLE="background:yellow; color:black" value=L06N>L06N</option>
  32. <option STYLE="background:yellow; color:black" value=L06N>L06N</option>
  33. <option STYLE="background:yellow; color:black"alue=L06S>L06S</option>
  34. <option STYLE="background:yellow; color:black" value=L06S>L06S</option>
  35. <option STYLE="background:yellow; color:black" value=L06S>L06S</option>
  36. <option STYLE="background:yellow; color:black" value=L07N>L07N</option>
  37. <option STYLE="background:yellow; color:black" value=L07N>L07N</option>
  38. <option STYLE="background:yellow; color:black" value=L07N>L07N</option>
  39. <option STYLE="background:yellow; color:black" value=L07S>L07S</option>
  40. <option STYLE="background:yellow; color:black" value=L07S>L07S</option>
  41. <option STYLE="background:yellow; color:black" value=L07S>L07S</option>
  42. <option STYLE="background:yellow; color:black" value=L09N>L09N</option>
  43. <option STYLE="background:yellow; color:black" value=L09N>L09N</option>
  44. <option STYLE="background:yellow; color:black" value=L09N>L09N</option>
  45. <option STYLE="background:yellow; color:black" value=L09S>L09S</option>
  46. <option STYLE="background:yellow; color:black" value=L09S>L09S</option>
  47. <option STYLE="background:yellow; color:black" value=L09S>L09S</option>
  48. <option STYLE="background:yellow; color:black" value=L02N>L02N</option>
  49. <option STYLE="background:yellow; color:black" value=L03N>L03N</option>
  50. <option STYLE="background:yellow; color:black" value=L03N>L03N</option>
  51. <option STYLE="background:yellow; color:black"value=L08N>L08N</option>
  52. <option STYLE="background:yellow; color:black" value=L08S>L08S</option>
  53. <option STYLE="background:blue; color:black" value=L18N>L18N</option>
  54. <option STYLE="background:blue; color:black" value=L18S>L18S</option>
  55. <option STYLE="background:blue; color:black" value=L16N>L16N</option>
  56. <option STYLE="background:yellow; color:black" value=L03S>L03S</option>
  57. <option STYLE="background:yellow; color:black" value=L02N>L02N</option>
  58. <option STYLE="background:yellow; color:black" value=L02S>L02S</option>
  59. <option STYLE="background:yellow; color:black" value=L02N>L02N</option>
  60. <option STYLE="background:yellow; color:black" value=L02S>L02S</option>
  61. <option STYLE="background:yellow; color:black" value=L02S>L02S</option>
  62. <option STYLE="background:yellow; color:black" value=L01N>L01N</option>
  63. <option STYLE="background:yellow; color:black" value=L03N>L03N</option>
  64. <option STYLE="background:yellow; color:black" value=L03S>L03S</option>
  65. <option STYLE="background:yellow; color:black" value=L03S>L03S</option>
  66. <option STYLE="background:yellow; color:black" value=L05N>L05N</option>
  67. <option STYLE="background:yellow; color:black" value=L05N>L05N</option>
  68. <option STYLE="background:yellow; color:black" value=L05S>L05S</option>
  69. <option STYLE="background:yellow; color:black" value=L05S>L05S</option>
  70. <option STYLE="background:blue; color:black" value=L15N>L15N</option>
  71. <option STYLE="background:blue; color:black" value=L15N>L15N</option>
  72. <option STYLE="background:blue; color:black" value=L15S>L15S</option>
  73. <option STYLE="background:blue; color:black" value=L15S>L15S</option>
  74. <option STYLE="background:blue; color:black" value=L15S>L15S</option>
  75. <option STYLE="background:blue; color:black" value=L14N>L14N</option>
  76. <option STYLE="background:blue; color:black" value=L19N>L19N</option>
  77. <option STYLE="background:blue; color:black" value=L19N>L19N</option>
  78. <option STYLE="background:blue; color:black" value=L19N>L19N</option>
  79. <option STYLE="background:yellow; color:black" value=L08N>L08N</option>
Saludos :)
  #2 (permalink)  
Antiguo 02/06/2010, 08:03
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Problema con if para seleccionar que consulta sql ejecutar :(

Algunas observaciones

1) Debes de poner el error para saber fácilmente el problema que tiene tu código
2) Debes usar relaciones en lugar de productos cartesianos para hacer tus consultas, veo que usas SQl Server, utiliza el diseñador de consultas.
3) Los estilos puedes hacerlos a nivel del control, no ocupas definirlos en cada option
4) Agrega un elemento a la lista de "Tubos" que diga "Todos" con un value diferente a cualquier otra clave, y en el IF preguntas por ese value definido por ti para no filtrar por ese campo y que te traiga todos. En lo particular pondría un value igual a "%" y en la consulta pondría un ... and Tubo like '" & request("tubo") & "'" ..., de esa forma me ahorraría ese IF ya que si eligieran "Todos" el like me traería todos los Tubos por que usé el comodín.

Saludos
  #3 (permalink)  
Antiguo 02/06/2010, 08:18
 
Fecha de Ingreso: noviembre-2007
Mensajes: 504
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Problema con if para seleccionar que consulta sql ejecutar :(

Hola, el problema que me dio es este:
Microsoft VBScript runtime error '800a000d'

Type mismatch: '[string: "L15N"]'

/MES/luis/show.asp, line 54

http://www.forosdelweb.com/f15/probl...server-810843/
EDIT:
Probe con el % que me indicas y parece que jala muy bien, muchas gracias por el buen consejo :) tu si sabes :D

Última edición por th3r0rn; 02/06/2010 a las 08:26
  #4 (permalink)  
Antiguo 02/06/2010, 09:00
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Respuesta: Problema con if para seleccionar que consulta sql ejecutar :(

Entonces ya quedó resuelto?

Etiquetas: ejecutar, seleccionar, sql
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 08:06.