PDA

Ver la Versión Completa : Error En Consulta


perillan
24-01-2008, 11:27:42
Tengo que hacer unas consultas de una base de datos de Access y me da un error en ellas. La muestro por si me teneis que indicar algo.


ADOQuery1.SQL.text:=( 'Select *From AUTOS where NOMBRE containing ''' + edSearch.Text + '''');

Error en sintesis(falta operador)en la expresion de la consulta nombre

Lepe
24-01-2008, 11:37:27
Prueba así:
ADOQuery1.SQL.text:=( 'Select *From AUTOS where NOMBRE like ' + QuotedStr('%' + edSearch.text + '%');

perillan
24-01-2008, 16:57:15
Lepe: Con esta consulta de mezcla entre la tuya y la mia sale, pero con el inicio del nombre o frase a buscar. Lo que pretendo es que la consulta se realice con los caracteres tecleados aunque esten a mitad del nombre o frase. Esto con interbase en la primera consulta que puse y con un Ibadataset se ejecuta perfectamente.
Tienes alguna idea?.
Un saludo

ADOQuery1.SQL.text:=( 'Select *From AUTOS where NOMBRE like ''' + edSearch.text + '%''');

eduarcol
24-01-2008, 17:07:20
Lepe: Con esta consulta de mezcla entre la tuya y la mia sale, pero con el inicio del nombre o frase a buscar. Lo que pretendo es que la consulta se realice con los caracteres tecleados aunque esten a mitad del nombre o frase. Esto con interbase en la primera consulta que puse y con un Ibadataset se ejecuta perfectamente.
Tienes alguna idea?.
Un saludo

ADOQuery1.SQL.text:=( 'Select *From AUTOS where NOMBRE like ''' + edSearch.text + '%''');

para eso es el caracter comodin de porcentaje, le indica la posicion donde debe buscar, seria asi:

ADOQuery1.SQL.text:=( 'Select *From AUTOS where NOMBRE like ''%' + edSearch.text + '%''');

perillan
24-01-2008, 17:12:47
Muy bien perfecto.....gracias.

perillan
24-01-2008, 23:03:47
Ahora viene la segunda parte.
Estas consultas en access son con unas tablas relacionadas. Que ADO es el mejor para estas tablas. Yo lo que tengo hecho es con interbase y utilizaba los IBDataset con la propiedad GeneratorFiel y quedaban enlazadas, pero con esto me encuentro un poco perdido.
Un saludo

eduarcol
24-01-2008, 23:19:28
Ahora viene la segunda parte.
Estas consultas en access son con unas tablas relacionadas. Que ADO es el mejor para estas tablas. Yo lo que tengo hecho es con interbase y utilizaba los IBDataset con la propiedad GeneratorFiel y quedaban enlazadas, pero con esto me encuentro un poco perdido.
Un saludo

laverdad no entendi mucho, las tienes en acces o en ib???

perillan
24-01-2008, 23:24:54
La tengo en access

jachguate
24-01-2008, 23:59:42
¿El error de sintaxis lo arroja delphi o lo arroja access?

Si la sentencia la construis tal como la publicaste, obviamente el error está en la sintaxis de pascal, y no en la del sql.

Una sentencia correcta, en pascal, y en SQL, sería:


ADOQuery1.SQL.text := 'Select * from AUTOS where NOMBRE containing '
+ QuotedStr(edSearch.text);


Esto suponiendo que la clausula "containing" sea válida en Access, pues no es parte del estándar SQL.

Hasta luego.

;)

perillan
25-01-2008, 08:37:31
La consulta ya quedo resuelta, el tema ahora es : Cuales son los componentes adecuados de ADO para relacionar dos bases de datos en access.
Como se establece la relacion maestro-detalle a traves de los componentes ADO y que componentes serian estos?.

Un saludo.

jachguate
25-01-2008, 15:20:27
La consulta ya quedo resuelta, el tema ahora es : Cuales son los componentes adecuados de ADO para relacionar dos bases de datos en access.
Como se establece la relacion maestro-detalle a traves de los componentes ADO y que componentes serian estos?.

Un saludo.

Claro que siguiendo la guia de estilo, ese, de ser necesario, sería tema de otro hilo, aunque claro, no será necesario, pues dichos temas se han discutido previamente, solo haz un par de búsquedas y hallarás respuestas.