Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   consulta a tablas de bases de datos externas (https://www.clubdelphi.com/foros/showthread.php?t=14474)

odin 21-09-2004 19:58:27

consulta a tablas de bases de datos externas
 
que tal!, una pregunta, alguien sabe como puedo accesar desde un ADOQuery (que como todos sabemos, tiene una connection string que apunta a determinada base de datos) a una o varias tablas que pertenezcan a otras bases de datos (de access), yo sé que se puede usar el "IN", para decir, por ejemplo:

SELECT * FROM Tabla1 IN "C:\BaseDeDatos.mdb"
--donde BaseDeDatos.mdb contiene a Tabla1---

pero lo que quiero es poder accesar a una base de datos externa Y poder ejecutar consultas usando LEFT JOIN, para unir dos tablas, o sea, algo + o - asi:

SELECT * FROM Tabla1 IN "C:\BaseDeDatos.mdb" LEFT JOIN Tabla2 IN "C\BaseDeDatos.mdb" ON Tabla1.Campo1 = Tabla2.Campo1

--sabiendo que "c:\BaseDeDatos" es una base de datos diferente a la que apunta el connection string del query---

El problema es que delphi el ejecutar el sql marca error de sintaxis!!!, espero alguien sepa y me pueda ayudar..!gracias!:cool:

Neftali [Germán.Estévez] 22-09-2004 09:41:30

Cita:

Empezado por odin
...El problema es que delphi el ejecutar el sql marca error de sintaxis!!!, espero alguien sepa y me pueda ayudar

Siempre puedes programar la consulta en Access (con la sintaxis de Access) y ejecutarla desde delphi utilizando el TADOStoreProc.

odin 22-09-2004 18:00:57

ok. gracias, pero, para programar la consulta en access y poder verla en ADOStoredProc, como le hago para que accese a tablas de bases de datos externas Y poder utilizar LEFT JOIN, puesto que si hago una consulta de acceso a bases de datos externas con IN, no hay problema, tampoco si hago una consulta con puro LEfT JOIN, el problema es cuando uso IN y LEFT JOIN en la misma consulta, no se si me puedan ayudar con eso!!. Gracias de antemano.

Neftali [Germán.Estévez] 23-09-2004 09:48:18

Se pueden programar consultas en Access (con JOIN's) y utilizando tablas de diferentes Bases de Datos; La sintaxis es la siguiente:

Código SQL [-]
SELECT FROM orders INNER JOIN items ON orders.OrderNo = items.OrderNo IN 'c:\temp\db1.mdb'

Si lo queires hacer utilizando el asuistente de consultas de Access, puedes hacerlo cambiando la Base de Datos activa en las propiedades de la consulta; Pr pasos:
(1) Vas al asistente y añades las tablas de la Bsse de Datos actual (vista diseño).
(2) Botón derecho sobre la zona gris del asistente.
(3) Accedes a propiedades y cambias la propiedad "Base de Datos de Origen" por la que quieras.
(4) Al cerrar las propiedades e intentar añadir tablas, te aparecerán las de la nueva Base de Datos que has añadido.

odin 23-09-2004 17:07:27

Muchas gracias!!, creo que me han salvado la vida...¡les debo una!!


La franja horaria es GMT +2. Ahora son las 18:12:18.

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