Dos preguntas, urgente!!!

15/06/2005 - 17:18 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 Manuel Vera
15/06/2005 - 17:44 | Informe spam
Matias...

Luego para recuperar los datos de un campo tipo MEMO debo usar
RS.Fields("campo").GetChunck()? o ese método ya no es necesario?

Salu2
MV
Respuesta Responder a este mensaje
#2 Manuel Vera
15/06/2005 - 17:50 | Informe spam
A la pregunta 1...

Yo lo que he hecho es descomponer el valor a buscar, p.e., "Windows XP".
Yo como uso SQL Server y no Access, internamente en un procedimiento interno
de SQL separo palabra por palabra, las voy metiendo en una tabla y luego
comparo el resultado de esa tabla contra el campo donde quiero buscar esas
palabras. Pero como tu caso es Access, prueba algo como:

'extraigo las palabras a un vector
vector = split(request.form("busqueda") , " " )

'ciclo de codicional SQL
for
sqlw = sqlw & " AND descrip like '%" & vector(i) & "%'"
next
Set RS = ConexionBD.Execute("Select * from datos where " & sqlw)

Es algo así...
Salu2
MV

"Luis" wrote in message
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
#3 Matias Iacono
15/06/2005 - 20:36 | Informe spam
Te respondo a la segunda.

Los campos de texto mas largos en Access se llaman MEMO.

Cambia por estos y podras almacenar mas texto. Despues, trabajan de la misma
manera que un campo de texto normal.

Saludos,

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3

Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
"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
#4 Matias Iacono
15/06/2005 - 20:54 | Informe spam
Pues, en ASP puro y duro, simplemente con acceder al item del recordset es
suficiente.

mivariable = RST("CampoMEMO")

O estamos hablando de .net?

De cualquier manera, en .Net es lo mismo, salvo por algunas palabras de mas.
:)

Como comentario adicional... nunca en mi vida use el getChunck..., menudo
lio me hubiera tocado si hubiera tenido que usarlo :D

Saludos,

Matías Iacono
Microsoft MVP ASP/ASP.net - DCE3

Profile: http://aspnet2.com/mvp.ashx?MatiasIacono
"Manuel Vera" escribió en el mensaje
news:%
Matias...

Luego para recuperar los datos de un campo tipo MEMO debo usar
RS.Fields("campo").GetChunck()? o ese método ya no es necesario?

Salu2
MV


Respuesta Responder a este mensaje
#5 Mark
15/06/2005 - 21:50 | Informe spam
Yo para la busqueda remplace los espacios con % que es el comodin

pero ojo me busca las palabras en el orden que se ponga

elemplo

xp windows quedaria %xp%windows% y busca los campor que tengan primero xp y
luego windows

MarK


"Luis" escribió:

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
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida