OVH Cloud OVH Cloud

Requête Access depuis MSQuery

3 réponses
Avatar
Stéphane Santon
Bonjour,

Je gère une base access depuis Excel et ADO, et je mets au point qq
requêtes depuis MSQuery.

J'ai les tables :
* Events :
- IdEvent : COUNTER
- NoPoste : INTEGER
- NoComportement : INTEGER
- NomEvent : VARCHAR
* Postes :
- IdPoste : COUNTER
- NomPoste : VARCHAR
* Comportements :
- IdComportement : COUNTER
- NomComportement : VARCHAR

Je veux extraire la liste des Events et y joindre les *Noms* de Poste et
Comportement issus des tables respectives.

Or MSQUery me renvoie ce message :
"Impossible de Créer une jointure externe s'il existe plus de deux
tables dans la requête".

Est-ce une limitation propre à ACCESS ou à MSQuery ??

Merci

--
** Anti-Spam : ajouter [usenet] dans l'objet pour ne pas être rejeté.

Cordialement, Stéphane *** http://www.team-santonum.com
Loisirs, nature, arts, technologie : accueil en Charente-Maritime

3 réponses

Avatar
Sylvain Lafontaine
Les deux (Access et MSQuery) peuvent poser problème dans le cas des
jointures externes.

Dans le cas d'Access, la solution consiste à créer une première requête
comportant la première jointure externe et ensuite utiliser cette requête
comme source dans une deuxième requête pour la seconde jointure.

Je ne sais pas comment cela va se comporter avec MSQuery.

Évidemment, on suppose ici que vos deux jointures externes sont valides en
regard du language SQL.

S. L.

"Stéphane Santon" wrote in message
news:
Bonjour,

Je gère une base access depuis Excel et ADO, et je mets au point qq
requêtes depuis MSQuery.

J'ai les tables :
* Events :
- IdEvent : COUNTER
- NoPoste : INTEGER
- NoComportement : INTEGER
- NomEvent : VARCHAR
* Postes :
- IdPoste : COUNTER
- NomPoste : VARCHAR
* Comportements :
- IdComportement : COUNTER
- NomComportement : VARCHAR

Je veux extraire la liste des Events et y joindre les *Noms* de Poste et
Comportement issus des tables respectives.

Or MSQUery me renvoie ce message :
"Impossible de Créer une jointure externe s'il existe plus de deux
tables dans la requête".

Est-ce une limitation propre à ACCESS ou à MSQuery ??

Merci

--
** Anti-Spam : ajouter [usenet] dans l'objet pour ne pas être rejeté.

Cordialement, Stéphane *** http://www.team-santonum.com
Loisirs, nature, arts, technologie : accueil en Charente-Maritime


Avatar
Stéphane Santon
Bonjour,

Dans le cas d'Access, la solution consiste à créer une première requête
comportant la première jointure externe et ensuite utiliser cette requête
comme source dans une deuxième requête pour la seconde jointure.


Mercid de ta réponse.
Mais au final, j'utilise cette requête dans un programme VBA à travers
ADO. Est-ce Access lui même qui pêche ou bien le moteur de base de
données (Jet?) ?
Comment réaliser 2 requêtes avec 2nde jointure lorsque j'exécute SQL à
travers ADO ?



"Stéphane Santon" wrote in message
Je gère une base access depuis Excel et ADO, et je mets au point qq
requêtes depuis MSQuery.
Or MSQUery me renvoie ce message :
"Impossible de Créer une jointure externe s'il existe plus de deux
tables dans la requête".



--
** Anti-Spam : ajouter [usenet] dans l'objet pour ne pas être rejeté.

Cordialement, Stéphane *** http://www.team-santonum.com
Loisirs, nature, arts, technologie : accueil en Charente-Maritime


Avatar
Sylvain Lafontaine
C'est probablement JET qui pêche ici; quoiqu'il est possible qu'Access soit
également impliqué.

Dans le cas de SQL/ADO, la seconde requête doit déjà exister dans la BDD.
Vous pouvez également essayer d'utiliser un « sub-query » à la place mais je
n'ai aucune idée si JET supporte ça. Ne vous attendez pas à avoir la même
puissance de traitement avec JET qu'avec SQL-Server.

S. L.

"Stéphane Santon" wrote in message
news:
Bonjour,

Dans le cas d'Access, la solution consiste à créer une première requête
comportant la première jointure externe et ensuite utiliser cette requête
comme source dans une deuxième requête pour la seconde jointure.


Mercid de ta réponse.
Mais au final, j'utilise cette requête dans un programme VBA à travers
ADO. Est-ce Access lui même qui pêche ou bien le moteur de base de
données (Jet?) ?
Comment réaliser 2 requêtes avec 2nde jointure lorsque j'exécute SQL à
travers ADO ?



"Stéphane Santon" wrote in message
Je gère une base access depuis Excel et ADO, et je mets au point qq
requêtes depuis MSQuery.
Or MSQUery me renvoie ce message :
"Impossible de Créer une jointure externe s'il existe plus de deux
tables dans la requête".



--
** Anti-Spam : ajouter [usenet] dans l'objet pour ne pas être rejeté.

Cordialement, Stéphane *** http://www.team-santonum.com
Loisirs, nature, arts, technologie : accueil en Charente-Maritime