Dos preguntas de ASP, Urgente!!!

15/06/2005 - 17:19 por Luis | Informe spam
Hola, realizo una busqueda dentro de una db de access con el siguiente
codigo

Set ConexionBD = Server.CreateObject("ADOdb.Connection")
ConexionBD.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" &
Server.Mappath("\fpdb\datos.mdb")
Set RS = ConexionBD.Execute("Select * from datos where descrip like'%" &
Request("buscar") & "%'")

pero el problema es que solo puedo poner una palabra o frase en el campo de
busqueda ya que me tira resultados segun la frase exacta que ingresé.
Podrian decirme como hacer para buscar dos o mas palabras contenidas en un
registro?? onda que me muestre todos los registros que tengan las palabras
"Windows" y "XP" como lo hace yahoo o google???

Y la otra es, si quiero guardar registros con texto, access solo me permite
guardar hasta 255 caracteres, como puedo hacer para que me de mas espacio
para almacenar? o conocen alguna otra forma? para que me busque en txt y me
los muestre o algo asi???

Muchas gracias

Preguntas similare

Leer las respuestas

#1 Flavio Narvaez F
24/06/2005 - 00:32 | Informe spam
Usa mejor el INSTR()



"Luis" escribió en el mensaje
news:
Hola, realizo una busqueda dentro de una db de access con el siguiente
codigo

Set ConexionBD = Server.CreateObject("ADOdb.Connection")
ConexionBD.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" &
Server.Mappath("\fpdb\datos.mdb")
Set RS = ConexionBD.Execute("Select * from datos where descrip like'%" &
Request("buscar") & "%'")

pero el problema es que solo puedo poner una palabra o frase en el campo
de
busqueda ya que me tira resultados segun la frase exacta que ingresé.
Podrian decirme como hacer para buscar dos o mas palabras contenidas en un
registro?? onda que me muestre todos los registros que tengan las palabras
"Windows" y "XP" como lo hace yahoo o google???

Y la otra es, si quiero guardar registros con texto, access solo me
permite
guardar hasta 255 caracteres, como puedo hacer para que me de mas espacio
para almacenar? o conocen alguna otra forma? para que me busque en txt y
me
los muestre o algo asi???

Muchas gracias


Respuesta Responder a este mensaje
#2 [_(V)_i_c_K_] ™
28/06/2005 - 07:29 | Informe spam
Podrias separar las palabras en un Vector y crear tantos LIKE como sea necesario.

Codigo:

Dim Busco, RestoSql, cSql, i

Busco=trim(Request("buscar"))
if Busco="" then
' codigo para evitar la ejecucion o para crear otra consulta sin WHERE
end if

BuscoVector=Split(Busco," ") ' extrae un vector (Array) usando el espacio como separador

For i = 0 to Ubound(BuscoVector)
RestoSql=RestoSql & " descrip like '%" & BuscoVector(i) & "%' or"
Next ' i

RestoSql=left(RestoSql, Len(RestoSql)-3) ' Extrae el " or" final del resto de la consulta

cSql="Select * from datos where" & RestoSql

Set ConexionBD = Server.CreateObject("ADOdb.Connection")
ConexionBD.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.Mappath("\fpdb\datos.mdb")
Set RS = ConexionBD.Execute(cSql)

-

Para que Access te permita almacenar mas de 255 caracteres, cuando crees los campos, o los edites desde "diseño", que sean tipo "MEMO"
el uso es exactamente igual que los tipo "TEXTO"


Mick --
La idiotez es una enfermedad extraordinaria, no es el enfermo el que sufre por ella, sino los demás
+++_]V[_i_c_l<_++ IT Pro-2K5 ++ Gmail powered +++
No podemos solucionar problemas usando el mismo razonamiento que usamos cuando los creamos

"Luis" escribió en el mensaje news:
Hola, realizo una busqueda dentro de una db de access con el siguiente
codigo

Set ConexionBD = Server.CreateObject("ADOdb.Connection")
ConexionBD.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" &
Server.Mappath("\fpdb\datos.mdb")
Set RS = ConexionBD.Execute("Select * from datos where descrip like'%" &
Request("buscar") & "%'")

pero el problema es que solo puedo poner una palabra o frase en el campo de
busqueda ya que me tira resultados segun la frase exacta que ingresé.
Podrian decirme como hacer para buscar dos o mas palabras contenidas en un
registro?? onda que me muestre todos los registros que tengan las palabras
"Windows" y "XP" como lo hace yahoo o google???

Y la otra es, si quiero guardar registros con texto, access solo me permite
guardar hasta 255 caracteres, como puedo hacer para que me de mas espacio
para almacenar? o conocen alguna otra forma? para que me busque en txt y me
los muestre o algo asi???

Muchas gracias


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida