Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/04/2007, 08:00
josealh
 
Fecha de Ingreso: mayo-2006
Mensajes: 34
Antigüedad: 18 años, 11 meses
Puntos: 0
Re: Recoger en una vble un dato de un FORM para consulta a BBDD

Hola LinosINK,

Esto va bien y me ha servido porque ya sé como declarar la vble. y pasarla por parámetro a la consulta. La vble. es tipo string. Pero no muestra nada en pantalla.

Decirte que el combo está en el asp al igual que el form y el resultado ha de mostrarlo en el mismo asp. Pego el código y comento una cosa:

Código HTML:
<form method="POST" action="impresoras.asp" name="Plantas">
<table width="35%">
<tr><td>
 <div class="newsEncabezado">
 <table border="0" width="100%" align="center" bgcolor="#E0D577">
 <tr>
   <th width="100%" valign="middle" align="left" bgcolor="#E0D577">
   Seleccione Planta:
   <select name="cmbTiposPlantas">
    <option value="90066">HALL</option>
    <option value="90066">1A</option>
    <option value="90026">1B</option>
   </select>
   <input type="submit" VALUE="Buscar"></th>
 </tr>
 </table></div>
</td></tr>	
</table>
</form>

<%dim cn,rs,strTipoPlanta
'en la variable strTipoPlanta recuperas lo que se haya elegido en el combo mediante request.form
strTipoPlanta=request.form("cmbTiposPlantas")
set cn=createobject("ADODB.Connection") 
cn.ConnectionString = "Provider=sqloledb;Data Source=IUMAS1SQL;Initial Catalog=s1s2copiadia;User Id=personaliui;Password=personaliui123" 
cn.open 

set rs=createobject("ADODB.Recordset") 
sqltxt="select planta,nombre,medio,modelo,observaciones from PrnIUI where planta='" + strTipoPlanta + "' ORDER BY nombre" 
rs.open sqltxt, cn%>

<%if rs.eof then%>

<!--<h3 align="center">
<!--<font color="#FF0000">No hay datos que coincidan con su petición </font></h3>-->

<%else%>

<div class="newsDatos">
<table border="0" width="100%" align="center" bgcolor="#E5F0F2">
<tr><td>
<%do while not rs.eof%>
<div class="DivTabla">
<table border="0" width="100%"  align="center">
 <tr>
  <td width="15%" valign="middle" align="left" bgcolor="#E5F0F2">
  <font color="#000000"><%=rs("planta")%></font></td>
  <td width="21%" valign="middle" align="left" bgcolor="#E5F0F2">
  <font color="#000000"><%=rs("nombre")%></font></td>
  <td width="22%" valign="middle" align="left" bgcolor="#E5F0F2">
  <font color="#000000"><%=rs("medio")%></font></td>
  <td width="6%" valign="middle" align="center" bgcolor="#E5F0F2">
  <font color="#000000"><%=rs("modelo")%></font></td>
  <td width="9%" valign="middle" align="center" bgcolor="#E5F0F2">
  <font color="#000000"><%=rs("observaciones")%></font></td>
 </tr>
</table></div>

<%rs.movenext
loop
rs.close
end if%> 
Es fácil de enteder ya que se divide en tres partes:

*- Crear combo
*- Hacer consulta
*- Mostrar los datos

Si te fijas hay una línea comentada:

Código HTML:
<%if rs.eof then%>
 <!--<h3 align="center">
 <!--<font color="#FF0000">No hay datos que coincidan con su petición    </font></h3>-->
<%else%> 
Pues si la pongo, la ejecuta. Parece que pasa por todas las líneas del código, pero al utilizar el combo y seleccionar un planta debería hacerlo. Al comentarla y no leerla al ejecutarse no muestra nada, pero si selecciono en el combo y doy buscar sigue igual.

Y si en la línea del select le quito el where y lo dejo como al inicio salen todas, por lo que la consulta a la BD la hace. No me importa que salgan todas pues sería otra forma de ver las que hay y si te interesa alguna, utilizar el combo.

Espero no haber sido muy plasta. Gracias por todo.

Última edición por josealh; 12/04/2007 a las 08:18