Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   left join con ADOQuery (https://www.clubdelphi.com/foros/showthread.php?t=59313)

elcaracas 22-08-2008 11:23:31

left join con ADOQuery
 
Hola,

Tengo una Base de Datos de Access con un montón de tablas, y quiero hacer la siguiente consulta SQL:
Código SQL [-]
SELECT [Area Section Assignments].Area, [Area Section Assignments].Section, [Area Section Assignments].MatProp, [Area Section Properties].Thickness
FROM [Area Section Assignments] LEFT JOIN [Area Section Properties] ON [Area Section Assignments].Section = [Area Section Properties].Section;
En Access funciona bien. El problema está cuando lo quiero hacer desde mi programa:
Código Delphi [-]
   ADOQuery1->Close();
   ADOQuery1->SQL->Clear();
   ADOQuery1->SQL->Add("SELECT [Area Section Assignments].Area, [Area Section Assignments].Section, [Area Section Assignments].MatProp, [Area Section Properties].Thickness FROM [Area Section Assignments] LEFT JOIN [Area Section Properties] ON [Area Section Assignments].Section = [Area Section Properties].Section");
   ADOQuery1->Open();

Cuando ejecuto el código me da un error. No se como hacer un LEFT JOIN con un TADOQuery.

La base de Datos es de Access abierta con un ADOConnection y Provider=Microsoft.Jet.OLEDB.4.0

Alguien Puede Ayudarme!!

Gracias

ElDioni 22-08-2008 12:21:55

¿Podrías poner el error que te da?.

tcp_ip_es 22-08-2008 12:46:47

a parte de ponernos el error como bien dice Eldioni, esa consulta es un poco rara no??? haces un left join a la misma tabla y no le das un alias para diferenciarla y tampoco sacas en el select ningun campo de la otra tabla.... uhmmmm no se :confused:

elcaracas 22-08-2008 13:10:58

El error es un "Error no especificado".

Y no es una consulta a la misma tabla. Una se llama [Area Section Assignments] y la otra [Area Section Properties].

Gracias.

tcp_ip_es 25-08-2008 09:16:38

upsss pues no vi bien la tabla :D el error te lo lanza delphi o el controlador Microsoft jet.Lo mismo no has instalado la última versión de Microsoft jet. Testea la conexión Ado primero, yo la consulta la veo bien... también puedes intentar hacer la conexión por ODBC (Microsoft OLE DB Provide for ODBC Drivers) .... para ello tendrás que crearte una entrada en la tabla ODBC, (Puedes acceder mediante Panel de Control ->Herramientas Administrativas-> Origenes de Datos (ODBC) y ahí en la pestaña DSN de Sistema te creas una entrada con la conexión a tu BD. Luego desde delphi seleccionas esa entrada..... ahora no se me ocurre más cosas....


La franja horaria es GMT +2. Ahora son las 15:57:10.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi