Ver Mensaje Individual
  #9 (permalink)  
Antiguo 14/06/2003, 06:24
monra
 
Fecha de Ingreso: marzo-2003
Mensajes: 21
Antigüedad: 22 años, 1 mes
Puntos: 0
nicolasd esto es lo que tengo hecho hasta ahora:

Set Conn = Server.CreateObject ("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("cgi-bin\empresas\contenidos.mdb")
if request.form("frase")<>"" then
I = 0
frase=request.form("frase")
frasem=Split(frase," ")
For Each Valor In frasem
Redim Preserve palabras(I)
palabras(I) = Valor
I = I + 1
Next
num=ubound(frasem)+1
if num=1 then
sSQL ="SELECT * FROM tabla WHERE palac LIKE '%"&palabras(0)&"%' ORDER BY -ref"
else
if num=2 then
sSQL ="SELECT * FROM tabla WHERE palac LIKE '%"&palabras(0)&"%' AND palac LIKE '%"&palabras(1)&"%' ORDER BY -ref"
else

Funciona, pero mal. En la base de datos en el campo palac las palabras las tengo separadas por espacios. Para la inclusión de una sóla palabra y en algunos casos necesito incluir espacio después de la misma en el formulario para que me la encuentre.
He probado a quitar los espacios entre palabras dentro de la BD pero no me encuentra nada. No sé cómo está funcionando cuando son dos palabras. Algo debe de fallar en la forma de presentar la selección.

Voy a probar lo que me has mandado. De momento es mejor tu planteamiento ya que no existe límite de palabras a incluir.
Saludos.