sql

08/07/2003 - 22:17 por alex | Informe spam
hola.
tengo un textbox para que el usuario pueda buscar un
producto en una tabla de Access con una consulta como
esta:

"SELECT * FROM tabla WHERE producto LIKE '*" & Text1.Text
& "*'"

y muestra los resultados en un flexgrid.

el problema es que si, por ejemplo, el usuario escribe

'tarjeta red'

no me mostrará los que son

'trajeta DE red'

y lo que quiero es que se pueda buscar al estilo de los
buscadores de Internet, que si pones dos (o más) palabras
te muestra los que contienen esas palabras aunque no
esten juntas y no solo lo que es igual a lo escrito.
¿No existe una instruccion SQL en lugar del LIKE para
hacerlo de manera sencilla?
bueno, no se si me explico...
pero de todas formas Muchas Gracias.
Alex
 

Leer las respuestas

#1 Diego
08/07/2003 - 23:05 | Informe spam
Prueba esto:

a = "tarjeta red"
b = Split(a, " ")
sql = ""
For i = 0 To UBound(b)
sql = sql & "producto like '*" & b(i) & "*'" & " or "
Next
sql = "select * from tabla where (" & Left(sql, Len(sql) - Len(" or "))
& ")"



"alex" escribió en el mensaje
news:04b601c3458d$f7e8a4b0$
hola.
tengo un textbox para que el usuario pueda buscar un
producto en una tabla de Access con una consulta como
esta:

"SELECT * FROM tabla WHERE producto LIKE '*" & Text1.Text
& "*'"

y muestra los resultados en un flexgrid.

el problema es que si, por ejemplo, el usuario escribe

'tarjeta red'

no me mostrará los que son

'trajeta DE red'

y lo que quiero es que se pueda buscar al estilo de los
buscadores de Internet, que si pones dos (o más) palabras
te muestra los que contienen esas palabras aunque no
esten juntas y no solo lo que es igual a lo escrito.
¿No existe una instruccion SQL en lugar del LIKE para
hacerlo de manera sencilla?
bueno, no se si me explico...
pero de todas formas Muchas Gracias.
Alex

Preguntas similares