Bonjour,
Je viens à vous car je suis confronté à un dilemne ! Je dois modifier une requête pour afficher le contenu d'une colonne d'une table en plus des autres éléments présent dans la requête.
Voici la requête initiale (tres pas beau ):
Donc je dois rajouter la dedans la colonne [Type de produits] qui est un champ de type texte avec 3 choix possible dans une liste déroulante ("médicament", "liquide", "extrait") de la table [Produits finis] et l'afficher en excluant toutes les lignes qui contiennent le type suivant : "médicament".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT [Matières 1eres].[Code MP], [Matières 1eres].[Dénomination MP], [Matières 1eres].Acheteur, [Matières 1eres].[Code frs], Fournisseurs.[Nom Fournisseur], [Matières 1eres].[Réf frs], [Matières 1eres].Analyse, PSO.[Code PSO], PSO.Désignation, PSO.Client, [Matières 1eres].Observations, [Matières 1eres].Suspension, PSO.Suspension, [Détail formule].[Qté Formule], [Matières 1eres].[Unité mesure] FROM Fournisseurs INNER JOIN (([Matières 1eres] LEFT JOIN [Détail formule] ON [Matières 1eres].[Code MP]=[Détail formule].[Code MP]) LEFT JOIN PSO ON [Détail formule].[Code PSO]=PSO.[Code PSO]) ON Fournisseurs.[Code frs]=[Matières 1eres].[Code frs] WHERE ((([Matières 1eres].[Code MP])>"000009" AND ([Matières 1eres].[Code MP])<>"032M00" AND ([Matières 1eres].[Code MP])<>"007M00") AND (([Matières 1eres].Suspension)=No) AND ((PSO.Suspension)=No)) AND (([Produits finis].[Type de PF])<>"médicament") ORDER BY [Matières 1eres].[Code MP];
En voyant toutes ces jointures imbriquées, je dois avouer que je n'y comprends rien et que je n'arriverais pas à la modifier.
Cependant, je crois qu'il est possible de "transformer" ces jointures en requêtes imbriquées ou autres... J'ai fait un truc de ce style, mais cela ne fonctionne pas :
Je ne sais vraiment pas si ce que j'ai fait est logique ou pas, je comprends pas trop la requête initiale en fin de compte...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 SELECT MP.[Code MP], MP.[Dénomination MP], MP.Acheteur, MP.[Code frs], F.[Nom Fournisseur], MP.[Réf frs], MP.Analyse, PSO.[Code PSO], PSO.Désignation, PF.[Type de PF], PSO.Client, MP.Observations, MP.Suspension, PSO.Suspension, DF.[Qté Formule], MP.[Unité mesure] FROM [Matières 1eres] AS MP, Fournisseurs AS F, PSO, [Produits finis] AS PF, [Détail formule] AS DF WHERE MP.[Code frs] = F.[Code frs] AND DF.[Code MP] = MP.[Code MP] AND DF.[Code MP] IS NULL AND PSO.[Code PSO] = DF.[Code PSO] AND PSO.[Code PSO] IS NULL AND MP.[Code MP] > "000009" AND MP.[Code MP] <>"032M00" AND MP.[Code Mp] <>"007M00" AND MP.Suspension = No AND PSO.Suspension = No AND PF.[Type de PF] <> "médicament" ORDER BY MP.[Code MP];
Merci de l'aide que vous m'apporterez !
Partager