FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
consulta con like
hola gente como estan, bien
mi problema es el siguiente estoy usando una base de datos en acces conectado con adoconnection y estoy usando un ado query para filtrar el contenido osea que solo apareca los datos que el usuario quiere. por ejempo, del campo nombre los registros que contenga "maria" tengo un combobox por donde expesifico el campo donde de va a buscar y un edit donde se pondra el dato a buscar y dice k hay problema en la sysntaxis en 'nombres' like '%maria%' , prove esta sentencia en una base de datos en sql server y funciono. este es nu codigo que estoy haciendo mal salu2.
__________________
Novato en busqueda de Avance Última edición por marcoszorrilla fecha: 21-09-2008 a las 18:37:39. |
#2
|
||||
|
||||
En Access el comodín a utilizar es el asterisco * y no el porcentaje %.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
||||
|
||||
Cita:
Ok Gracias
__________________
Novato en busqueda de Avance |
#4
|
||||
|
||||
falta operador??
bueno ahora me da otro error
despues de corregir lo de los % me seguia dando error de syntaxis y vi que ne el mensaje de error me ponia unas comillas de mas entonces retire el quotedstr() y el mensaje siguiente es falta operador en 'NOMBRES like *Maria*' en la expresion SELECT * FROM TESIS WHERE NOMBRES LIKE *MARIA* que me faltaria por mas que he intentado no le encuentro nada Código Delphi [-]procedure TForm1.Button1Click(Sender: TObject); VAR consulta: string; begin consulta:= 'SELECt * FROM tesis WHERE ' + combobox1.text+' LIKE '+ '*'+edit1.Text+'*'; datamodule2.ADOQuery1.Close; datamodule2.ADOQuery1.SQL.Add(consulta); datamodule2.ADOQuery1.Open; end;
__________________
Novato en busqueda de Avance |
#5
|
||||
|
||||
Y, ¿cuál era ese mensaje de error?
Por otro lado, lo que comenta Marcos es válido para consultas hechas desde el mismo Acces, pero según acabo de probar, si la consulta es desde Delphi con un ADOQuery, se usan %, como en otras bases. // Saludos |
#6
|
||||
|
||||
Cita:
el mensaje de error es falta operador en Nombres like *maria* y por otra parte cuando coloco el % me da error de syntaxis, salu2
__________________
Novato en busqueda de Avance |
#7
|
||||
|
||||
En Access se utiliza como comodines los mismos caracteres que en ms-dos el asterisco (*) para un conjunto de caracteres y la interrogación (?) para un caracter, en Oracle p. ej. es porcentaje (%) para un conjunto de caracteres y guión bajo (_) para un caracter, esa es la diferencia.
__________________
Herr Heins Faust |
#8
|
||||
|
||||
Hola ramphi, como te dice Roman desde Access si funciona con * pero desde delphi tienes que hacerlo con %, por lo que veo tu error estaba en el campo que le pasas como parametro ya que no tiene que ser con comillas.
Cita:
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#9
|
||||
|
||||
Cita:
pues corregi eso y me dice que hoy error en syntaxis y cuando quito los dos quotedstr() me da error de "falta operador" salu2
__________________
Novato en busqueda de Avance Última edición por ramphi fecha: 23-09-2008 a las 15:20:40. Razón: error de escritura |
#10
|
||||
|
||||
y ahora llega el novato de access diciendo.... ¿no era con comillas dobles? usea:
saluditos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#11
|
||||
|
||||
no me da error pero no pasa nada
Cita:
bueno de esta forma no me da error pero no pasa nada, en la dbgird siguen los mismo datos y le agrego un refresh y nada, hay algo mas que agregar??
__________________
Novato en busqueda de Avance |
#12
|
||||
|
||||
Pues la verdad, deberías ver algún resultado o ver el grid vacio. Pregunta obligada: ¿seguro que el dbgrid está asociado al mismo adoquery? (un error tonto es muy común en estos casos)
en la base de datos, "maria" estará escrita en mayúsculas ¿verdad?, y sin tilde ¿siii? para las mayúsculas puedes usar:
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#13
|
||||
|
||||
Hola, yo siempre lo hice comilla simple y me ha funcionado acabo de hacer la prueba con comilla doble y también funciona. A parte de lo que te dice el amigo Lepe debes quitar el QuotedStr de tu campo.
Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
#14
|
||||
|
||||
Resuelto
gracias ya pude resolver el problema, habia una mala conexion con el query y las comillas del campo,
salu2
__________________
Novato en busqueda de Avance |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Realizar una consulta sobre los registros que devuelve otra consulta | Borjaserrano | Firebird e Interbase | 12 | 01-10-2007 23:19:44 |
Consulta dentro de otra consulta | judit25 | Conexión con bases de datos | 1 | 25-06-2007 15:52:15 |
consulta sobre consulta | superhopi | SQL | 2 | 16-05-2003 19:01:47 |
|