Hola a todos:
He probado el buscador simple mejorado de desarrollo web, pero me da el siguiente error:
ADODB.Recordset error '800a0bb9'
Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.
/buscador/buscar.asp, line 74
El codigo de la pagina es el siguiente
+++++++++++++++++++++++++++++
<%
function Sacar(cadena,campos)
dim i
dim SacarAux
while InStr(cadena," ")
Cadena=Replace(Cadena," "," ")
wend
if len(cadena)>0 then
if InStr(cadena," ")>0 then
Sacar= Sacar(left(cadena,InStr(cadena," ")-1),campos) & " OR " & Sacar(right(cadena,len(cadena)-InStr(cadena," ")),campos)
elseif InStr(cadena,"+")>0 then
Sacar=Sacar(left(cadena,InStr(cadena,"+")-1),campos) & " AND "& Sacar(right(cadena,len(cadena)-InStr(cadena,"+")),campos)
elseif InStr(cadena,"-")>0 then
Sacar=Sacar(left(cadena,InStr(cadena,"-")-1),campos) & " AND NOT " & Sacar(right(cadena,len(cadena)-InStr(cadena,"-")),campos)
else
'fijamos la sentencia
SacarAux=""
i=1
SacarAux= "( " & campos(i) & " Like '%" & cadena & "%'"
i=i+1
while len(campos(i))>0
SacarAux= SacarAux & " OR " & campos(i) & " Like '%" & cadena & "%'"
i=i+1
wend
SacarAux=SacarAux & " )"
Sacar=SacarAux
end if
else
sacar=""
end if
end function
function GeneraSql(cadena,tabla,campos)
if len(cadena)>0 then
generaSql="Select * from " & tabla & " Where " & Sacar(cadena,campos)
else
Response.Write "No hay criterios"
end if
end function
%>
<html>
<head>
<title>Buscar datos</title>
</head>
<body bgcolor="#FFFFCC">
<p><font face="Tahoma" size="2">Resultados obtenidos con <strong><%=Request("Palabra") %></strong></font></p>
<%
Dim Conexion,Tabla
Set Conexion=Server.CreateObject("adodb.connection")
Set Tabla=Server.CreateObject("adodb.recordset")
Conexion.Open "Driver={Microsoft Access Driver (*.mdb)}; " & "Dbq=" & Server.MapPath("bd_buscar.mdb")
Dim Temp
'Temp="Select * From Tabla1 Where UCase(pal) like '%" & UCase(Request("palabra")) & "%'"
dim campos(3)'el tamano del array debe superar en uno al numero de campos
campos(1)="calle"
campos(2)="empresa"
'para mostrar cual seria el resultado...
cadena=Request.form("palabra")
tabla_bbdd="Tabla1"
Temp=GeneraSql(cadena,tabla_bbdd,campos)
'response.write Temp
Tabla.Open Temp, Conexion
If Tabla.BOF And Tabla.EOF Then
%>
<p><font face="Tahoma" size="2">No se ha encontrado nada con <strong><%=Request("palabra")%></strong> en la Base de Datos</font></p>
<%
Else
%>
<div align="center"><center>
<table border="1" cellpadding="0" cellspacing="0" width="100%" height="74" bordercolor="#C0C0C0">
<tr>
<td width="28%" height="19">
<p align="center"><strong><font face="Tahoma" size="2">Calle</font></strong>
</td>
<td width="28%" height="19">
<p align="center"><strong><font face="Tahoma" size="2">Coordenada</font></strong></p>
</td>
<td width="52%" height="19">
<p align="center"><strong><font face="Tahoma" size="2">Empresa</font></strong>
</td>
</tr>
<% While Not Tabla.EOF%>
<tr>
<td width="28%" bgcolor="#FFCC00" height="51">
<p align="center"><font face="Tahoma" size="2"><%=Tabla.Fields("calle")%></font></td>
<td width="28%" bgcolor="#FFCC00" height="51">
<p align="center"><font face="Tahoma" size="2"><%=Tabla.Fields("coordenada")%></font></td>
<td width="52%" bgcolor="#FFCC00" height="51">
<p align="center"><font face="Tahoma" size="2"><%=Tabla.Fields("empresa")%></font></td>
</tr>
<%
Tabla.MoveNext
Wend
Tabla.Close
Conexion.Close
End If
%>
</table>
</center></div>
<p align="center"><font face="Tahoma" size="2">Busquedas</font></p>
<p align="center"><font face="Tahoma" size="2">2002</font></p>
<p align="center"> </p>
</body>
</html>
+++++++++++++++++++++++++++++++++++++
Espero que me puedan echar una mano. La pagina funciona bien cuando pones algo en el buscador, pero cuando le das a buscar sin ningun valor da el error.
Gracias de antemano y un saludo.