PDA

Ver la Versión Completa : Query Access no funciona con ADO


Delfino
14-06-2007, 16:29:59
la siguiente query funciona en Access,

SELECT SitelistNoAXE.Customer, SitelistNoAXE.Network, SitelistNoAXE.Node
FROM SitelistNoAXE
WHERE (((SitelistNoAXE.Node) Like '*GSN*'));

pero desde Delphi da un dataset vacio,

qrySiteListGSN.SQL.Text := 'select * from [lisnoaxe$]' +
'where (Node Like ''*GSN*'')'

como tengo q poner la de arriba en Delphi para q de los mismos resultados q en Access?

ContraVeneno
14-06-2007, 16:36:35
with qrySiteListGSN do begin
if active then close;
SQL.Clear;
SQL.Add('SELECT S.Customer, S.Network, S.Node');
SQL.Add('FROM SitelistNoAXE S');
SQL.Add('WHERE S.Node Like ''*GSN*'' ');
Open;
end; //with


La ventaja de usar SQL.Add, en lugar de SQL.Text, es que si utilizas .Text y tienes algún error, este siempre te dirá que tienes un error en la línea 1.

En cambio, al utilizar SQL.Add, te dirá exactamente en que línea tienes el error.

Delfino
14-06-2007, 16:42:54
La query no da error, si no q devuelve resultado con registros o sin registros,

He olvidado de decir q los datos los traigo de una hoja Excel, a la cual accedo con ADO, exportando los datos de esa hoja a Access y ejecutando la consulta me genera unos datos, casi la misma consulta en Delphi me da un resultado vacio :(

Neftali [Germán.Estévez]
14-06-2007, 16:57:57
Prueba a cambiar los * por % dentro de la cadena.

Delfino
14-06-2007, 17:10:34
Prueba a cambiar los * por % dentro de la cadena.
Funciono, cambiando tb los simple comillas con dobles comillas..

Q rollo es el ADO :eek:

Neftali [Germán.Estévez]
14-06-2007, 17:51:12
Q rollo es el ADO

Más bien diría yo, "que rollo es el Access" que va por su cuenta...
No confuncir Access con Jet4 con ADO.

Delfino
15-06-2007, 11:05:44
No confuncir Access con Jet4 con ADO
Aclarado, significa q el Jet tiene un sql mas estandarizado pero era el Access q utiliza su propio sql,
aun asi trabajar con ADO no es nada agradable, un monton de detalles y mucha lentitud, pero a veces hay q trabajar con ellos, tenemos las cosas de M$ hasta en la sopa :eek: