Ver Mensaje Individual
  #10 (permalink)  
Antiguo 23/01/2008, 02:32
potenkin
 
Fecha de Ingreso: septiembre-2005
Mensajes: 202
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: es posible hacer que un buscador busque en varias tablas?

pues da error, error '80040e10'

tengo el seiguiente codigo, para recoger el valor del form (clave), y despues buscar en las tablas, tal y como esta abajo funciona correctamente buscando solo en la tabla comercial y los campos tit_cast y txt_cast


<%
Dim resultados__MMColParam
resultados__MMColParam = "1"
If (Request.Form("clave") <> "") Then
resultados__MMColParam = Request.Form("clave")
End If
%>
<%
Dim resultados
Dim resultados_cmd
Dim resultados_numRows

Set resultados_cmd = Server.CreateObject ("ADODB.Command")
resultados_cmd.ActiveConnection = MM_conexion_STRING
resultados_cmd.CommandText = "SELECT * FROM comercial WHERE tit_cat & txt_cat LIKE ? ORDER BY id DESC"
resultados_cmd.Prepared = true
resultados_cmd.Parameters.Append resultados_cmd.CreateParameter("param1", 200, 1, 255, "%" + resultados__MMColParam + "%") ' adVarChar

Set resultados = resultados_cmd.Execute
resultados_numRows = 0
%>


si le incluyo UNION para que busque también en la tabla territorio, y los campos tit_cast y txt_cast de la siguiente manera


<%
Dim resultados__MMColParam
resultados__MMColParam = "1"
If (Request.Form("clave") <> "") Then
resultados__MMColParam = Request.Form("clave")
End If
%>
<%
Dim resultados
Dim resultados_cmd
Dim resultados_numRows

Set resultados_cmd = Server.CreateObject ("ADODB.Command")
resultados_cmd.ActiveConnection = MM_conexion_STRING
resultados_cmd.CommandText = "SELECT tit_cat, txt_cat FROM comercial WHERE tit_cat LIKE ? OR txt_cat LIKE ? ORDER BY id DESC UNION SELECT tit_cat, txt_cat FROM territorio WHERE tit_cat LIKE ? OR txt_cat LIKE ? ORDER BY id DESC"
resultados_cmd.Prepared = true
resultados_cmd.Parameters.Append resultados_cmd.CreateParameter("param1", 200, 1, 255, "%" + resultados__MMColParam + "%") ' adVarChar

Set resultados = resultados_cmd.Execute 'linea 34
resultados_numRows = 0
%>


da el siguiente error:

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'
No se han especificado valores para algunos de los parámetros requeridos.
/cat/buscar.asp, línea 34


la linea 34 es la antepenultima

Set resultados = resultados_cmd.Execute

¿¿¿¿ ????