Consultar una base por medio de un textbox.

Que tal antes que nada saludos y espero que me puedas ayudar en mi problema, bueno mi problema es este, lo que quiero hacer es consultar una base de datos que al poner en una caja de texto el código de un rango me aparezcan en la consulta los registros del rango, para lo que hago esto :
-Primero hago la página del formulario
*****ESTE ES EL CODIGO****
<html>
<head>
<title>Consulta.html</title>
</head>
<body>
<center><h1>Consultar de Registros</h1></center>
<br>
<FORM METHOD="POST" ACTION="consulta.asp">
<CENTER>
DE:
<INPUT TYPE="TEXT" NAME="rango1"><br>
HASTA:
<INPUT TYPE="TEXT" NAME="rango2"><br>
<INPUT TYPE="SUBMIT" VALUE="Consultar"><br>
<INPUT TYPE="RESET" VALUE="RESTABLECER">
</CENTER>
</FORM>
</BODY>
</HMTL>
Y ESTE ES EL MODULO ASP QUE HACE LA CONSULTA SEGUN LOS DATOS:
</head>
<body bgcolor="gray">
<h1><div align="center"><font face="tahoma" color="white">Consulta</div></h1>
<br>
<%
rango1=request.form("rango1")
rango2=request.form("rango2")
set conn=server.createobject("adodb.connection")
conn.open "mibase"
****AQUI ESTA MI PROBLEMA ME MANDA UN ERROR QUE ME DICE QUE EL TIPO DE DATOS NO COINCIDE, TENGO TRES CAMPOS EN L BASE CODIGO(AUTONUMERICO), NOMBRE, Y TELEFONO(Y ESTOS SON TEXTO)********
sSQL="select * from clientes3 where_ codigo BETWEEN 'rango1' and 'rango2'"
set rs = conn.execute(sSQL)
%>
<table border=1 WIDTH="700" align="center">
<tr>
<th><font size=2 face="tahoma" color="white">CODIGO</th>
<th><font size=2 face="tahoma" color="white">NOMBRE</th>
<th><font size=2 face="tahoma" color="white">TELEFONO</th>
</tr>
<%
do while not rs.eof
%>
<tr>
<td><font size=2 face="tahoma" color="white"><%=rs("codigo")%></td>
<td><font size=2 face="tahoma" color="white"><%=rs("nombre")%></td>
<td><font size=2 face="tahoma" color="white"><%=rs("telefono")%></td>
</tr>
<%
rs.movenext
loop
'CERRAMOS EL SISTEMA DE CONEXION
conn.close
%>
</table>
</font>
</BODY>
</HTML>
Espero que me puedas ayudar, espero tu respuesta y de antemano muchas gracias por tu ayuda.

2 respuestas

Respuesta
1
Por lo que he podido ver en la consulta todo en un string y lo que tienes que hacer es contatenar los valores del ranco con la consulta sql:
->sSQL="select * from clientes3 where_ codigo BETWEEN 'rango1' and 'rango2'"
prueba esto: sSQL="select * from clientes3 where_ codigo BETWEEN '" & rango1 & "' and '" & rango2 & "'"
Esto te funcionará si rango1 y rando2 son texto, si fueran numéricos tendrías que hacerlo de la siguiente manera:
sSQL="select * from clientes3 where_ codigo BETWEEN " & rango1 & " and " & rango2
Suerte
Respuesta
1
El problema está al construir la sentencia SQL. Le estás pasando rango1 y rango 2 como texto que forma parte de la sentencia, y no sus valores. Lo correcto sería:
sSQL="select * from clientes3 where_ codigo BETWEEN '" & rango1 & "' and '" & rango2 & "'"
Hola muchas gracias por tu tiempo me sirvió mucho, repare mi problema, espero que me puedas ayudar más adelante por ahora muchas gracias por tu tiempo y tu servicio. Hasta luego

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas