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.