2009-09-02 8 views
0

Utilisation d'Access 2003Comment obtenir une table à partir de deux bases de données?

Je veux obtenir une valeur de table des deux bases de données

Base de données - 1

Emp_Table

Database - 2

Customer_Table

Select * from Database-1.Emp_Table, Database-2.Customer_Table 

La requête ci-dessus montre une erreur dans l'accès. J'ai essayé une requête Join aussi, montrant une erreur.

Quelqu'un peut-il résoudre ce problème?

Besoin d'aide pour la requête.

+0

S'il vous plaît signaler l'erreur réelle retournée par Access. –

+0

Il montre l'erreur dans le Database_1.Emp_Table (Il n'accepte pas cette ligne) – Gopal

+0

Est-ce que le nom de base de données "Database_1" ou "Database-1"? –

Répondre

4

Essayez d'utiliser des crochets -

SELECT * FROM [Database-1].[Emp_Table], [Database-2].[Customer_Table] 

Ou, essayez this.

0

Tout d'abord, en supposant que la requête est en cours d'exécution dans la base de données 1, vous devez créer une « table liée » à un lien vers la table de base de données 2 dans la base de données 1.

Une fois que vous faites cela, vous pouvez l'écrire simplement :

Select * from Emp_Table, Customer_Table 

puisque vous « dans » base de données 1, vous ne serez pas se qualifier Emp_Table, et puisque vous avez la base de données de 2 Customer_Table liée, vous n'aurez pas à se qualifier non plus.

0

Je n'ai pas Access 2003, mais dans Access 2007, vous pouvez le faire:

  • Cliquez sur l'onglet "Données externes".
  • Cliquez sur l'icône "Accès".
  • Choisissez l'emplacement de votre deuxième base de données Access.
  • Sélectionnez "Lier à une source de données en créant une table liée".

Cela devrait ajouter les tables dans votre deuxième base de données liée à celle d'origine. Vous pouvez ensuite écrire des requêtes pour interroger les données de l'une ou des deux, comme vous le feriez normalement. Je suis sûr que la même fonctionnalité est disponible dans Access 2003, juste une voie visuelle légèrement différente pour atteindre la même chose.

0

Y a-t-il une relation entre les tables, ou voulez-vous juste une sauvegarde de toute la table? De plus, vous afficher les rejoindre essayé et l'erreur que vous avez, il serait utile dans le dépannage ...

Si vous voulez que tous les enregistrements des deux tables, vous devez utiliser une requête UNION comme ceci:

Select * from Database-1.Emp_Table; 
UNION Select * from Database-2.Customer_Table; 

Cela suppose qu'il existe le même nombre de colonnes dans les deux tables. Si ce n'est pas le cas, remplacez le * par les colonnes spécifiques que vous souhaitez répertorier dans chaque table.

Questions connexes