2017-10-13 5 views
1

MS Access J'ai une requête d'accès, qui fait référence à une table: dbo_table2entièrement Qualifiez Tableau

Cependant, je l'ai déplacé cette table à une autre base de données, donc je dois qualifier complètement pour restaurer les liens.

SELECT table1.x, table1.y, table2.z 

FROM dbo_table1 

INNER JOIN dbo_table2 
ON (dbo_ID = dbo_ID) 

Les deux tables sont extraites des tables SQL. Dans ma requête Access, j'ai ajouté table2 en tant que table liée. Mais je ne suis pas sûr de la syntaxe d'accès. Si j'utilisais SQL, j'utiliserais simplement "newdatabaseDB.dbo.table2".

Ma question est comment puis-je nommer correctement la référence table2 en qualifiant pleinement la base de données et le nom de la table.

+2

Copie possible de [MS Access - lien vers une requête dans une autre base de données Access] (https://stackoverflow.com/questions/17786296/ms-access-link-to-query-in-another-access-database) –

+0

Si vous avez besoin de rejoindre la table, vous pouvez simplement utiliser le mot clé 'IN' avec une sous-requête (' INNER JOIN (SELECT * FROM dbo_table2 IN 'C: \ db.accdb) Comme Table2 ON ...' ' –

Répondre

1

craquée! En créant un lien vers une table externe dans la base de données où la requête a été créée, Access traite ensuite la table dans les requêtes comme si elle était locale (donc aucune qualification complète n'est nécessaire).

+1

Quel est le point de répéter une version moins complète de ma réponse? –

1

Si vous avez déplacé votre table vers une autre base de données, il suffit de lier cette table à votre base de données actuelle. De cette façon, vous pouvez utiliser comme il était local.
Il y a une autre option, en utilisant IN:

select * from clients in 'c:\test\mydb.mdb' 

Voir aussi https://stackoverflow.com/a/3123395/78522

+0

Il est utilisé dans une jointure Donc, ma table principale est locale, mais la table jointe est maintenant externe –

+0

voir le lien d'édition .. –