Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > Requêtes et SQL.
Requêtes et SQL. Tout ce qui concerne vos questions sur les requêtes et le SQL sous Access se trouve ici.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/06/2011, 14h35   #1
Invité de passage
 
Homme
stagiaire
Inscription : juin 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : stagiaire
Secteur : Industrie

Informations forums :
Inscription : juin 2011
Messages : 2
Points : 1
Points : 1
Par défaut Fusion de résultat de requêtes

Bonjour à tous,
j'ai attaché les tables d'une base de données à Access 2007 et j'ai crée ses requêtes

Obtenir la nomenclature d’un article
SELECT f_article.ar_ref, f_article.ar_design, f_nomenclat.no_qte, f_nomenclat.no_refdet
FROM f_articleINNER JOIN f_nomenclat ON f_article.ar_ref=f_nomenlat.ar_ref
WHERE ((f_article.ar_ref)= « référence de l'article ») ;

Obtenir le fournisseur d’un article
SELECT f_article.ar_ref, f_articlefourniss.ct_num
FROM f_artfourniess INNER JOIN f_article ON f_articlefourniss.ar_ref=f_article.ar_ref
WHERE ((f_article.ar_ref)= « référence de l’article ») ;

Obtenir les articles d’un bon de commande
SELECT f_docligne.ar_ref
FROM Fdocligne
WHERE ((F_docligne.do_type)=1)
AND ((f_docligne.do_piece)=”numéro du bon”) ;

séparément, les requête fonctionne mais, le but est de créer une requête qui me permettrait d’extraire les articles d’un bon de commande client, faire apparaître les nomenclatures des articles et faire apparaître les fournisseurs de chaque article. Hors, mon intellect est dépassé à ce stade.

Si quelqu’un a des idées, ou si vous pensez que je dois établir ma requête en code VBA, merci de l'aiguillé.

Cordialement.
aurekium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 14h43   #2
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 167
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 22
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 167
Points : 2 304
Points : 2 304
Bonjour,
Tout d'abord utilise les balises code STP!

Ensuite tes deux premières requêtes sont déjà liées il te reste juste à ajouter tes champs dans le select et ajouter un INNER JOIN:

Code :
1
2
3
4
5
6
 
SELECT f_article.ar_ref, f_articlefourniss.ct_num,  f_article.ar_design, f_nomenclat.no_qte, f_nomenclat.no_refdet
FROM f_artfourniess 
INNER JOIN f_article ON f_articlefourniss.ar_ref=f_article.ar_ref
INNER JOIN f_nomenclat ON f_article.ar_ref=f_nomenlat.ar_ref
WHERE ((f_article.ar_ref)= « référence de l’article ») ;
En revanche pour ta dernière table Fdocligne, a t elle une clé étrangère dans les tables f_article, f_nomenclat ou f_artfourniess?
__________________
Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com
N'oubliez pas de voter pour les messages dont la réponse est pertinente (en bas à droite du cadrant)
Vous voulez afficher du code :
Votre problème est résolu :
Pas de question technique par MP !
David55
David55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 14h58   #3
Invité de passage
 
Homme
stagiaire
Inscription : juin 2011
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : stagiaire
Secteur : Industrie

Informations forums :
Inscription : juin 2011
Messages : 2
Points : 1
Points : 1
Merci pour ta réponse,

et oui toutes les tables sont reliées par la référence de l'article "Ar_ref".

Grâce à ton code la solution s'est imposée à moi et du coup pour imbriquer les requêtes, j'ai sorti les références article avec l'opérateur IN. le code final est:

Code :
1
2
3
4
5
6
7
8
9
 
SELECT f_article.ar_ref, f_articlefourniss.ct_num,  f_article.ar_design, f_nomenclat.no_qte, f_nomenclat.no_refdet
FROM f_artfourniess 
INNER JOIN f_article ON f_articlefourniss.ar_ref=f_article.ar_ref
INNER JOIN f_nomenclat ON f_article.ar_ref=f_nomenlat.ar_ref
WHERE (f_article.ar_ref) IN (SELECT f_docligne.ar_ref
FROM Fdocligne
WHERE ((F_docligne.do_type)=1)
AND ((f_docligne.do_piece)=[Entrer le numéro de bon])) ;
En te remerciant de ta précieuse aide.
aurekium est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2011, 15h04   #4
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 167
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 22
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 167
Points : 2 304
Points : 2 304
De rien mais je ferai plutot comme ca:

Code :
1
2
3
4
5
6
7
 
SELECT f_article.ar_ref, f_articlefourniss.ct_num,  f_article.ar_design, f_nomenclat.no_qte, f_nomenclat.no_refdet
FROM f_artfourniess 
INNER JOIN f_article ON f_articlefourniss.ar_ref=f_article.ar_ref
INNER JOIN f_nomenclat ON f_article.ar_ref=f_nomenlat.ar_ref
INNER JOIN Fdocligne ON f_article.ar_ref=f_docligne.ar_ref AND F_docligne.do_type=1
WHERE f_docligne.do_piece=[Entrer le numéro de bon] ;
__________________
Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com
N'oubliez pas de voter pour les messages dont la réponse est pertinente (en bas à droite du cadrant)
Vous voulez afficher du code :
Votre problème est résolu :
Pas de question technique par MP !
David55
David55 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h01.


 
 
 
 
Partenaires

Hébergement Web