Tri avec plusieurs tables
Résolu/Fermé
Berorn
yg_be
- Messages postés
- 30
- Date d'inscription
- jeudi 16 février 2017
- Statut
- Membre
- Dernière intervention
- 5 août 2022
yg_be
- Messages postés
- 19961
- Date d'inscription
- lundi 9 juin 2008
- Statut
- Contributeur
- Dernière intervention
- 8 août 2022
A voir également:
- Tri avec plusieurs tables
- Tri de ma table sql avec bouton a href ✓ - Forum - PHP
- Tri d'une table ✓ - Forum - Bases de données
- Lorsqu'on trie une table de données d'un classeur, que peut-on faire - Guide
- Trier une liste déroulante selon une table adjacente ✓ - Forum - PHP
- Afficher table trier ✓ - Forum - Programmation
5 réponses
yg_be
Modifié le 8 nov. 2020 à 12:34
- Messages postés
- 19961
- Date d'inscription
- lundi 9 juin 2008
- Statut
- Contributeur
- Dernière intervention
- 8 août 2022
Modifié le 8 nov. 2020 à 12:34
bonjour,
ce serait plus simple pour nous si tu donnais la liste des champs par table, en texte, pas en image.
et plus simple pour toi sans caractères spéciaux dans les noms de champs
peut-être ainsi:
ce serait plus simple pour nous si tu donnais la liste des champs par table, en texte, pas en image.
et plus simple pour toi sans caractères spéciaux dans les noms de champs
peut-être ainsi:
SELECT Pièce , N°phase , DésignationPhase, sum(nbheure), sum(nbpiècesfinies), sum(nbdepiècesprélevées), sum(Valeurs) FROM Clipper, ARM WHERE Dateprod = Dateprélèvement and Employé = initiale and Clipper.Centrefrais = ARM.Centrefrais GROUP BY Pièce , N°phase , DésignationPhase
Berorn
8 nov. 2020 à 16:29
- Messages postés
- 30
- Date d'inscription
- jeudi 16 février 2017
- Statut
- Membre
- Dernière intervention
- 5 août 2022
8 nov. 2020 à 16:29
Merci pour ta réponse. Je prends note pour tes conseils.
Je vais essayer, faut-il que je crée des liaisons entre les tables ? Je reviens vers toi ensuite.
Je vais essayer, faut-il que je crée des liaisons entre les tables ? Je reviens vers toi ensuite.
yg_be
10 nov. 2020 à 10:15
- Messages postés
- 19961
- Date d'inscription
- lundi 9 juin 2008
- Statut
- Contributeur
- Dernière intervention
- 8 août 2022
10 nov. 2020 à 10:15
si tu utilises la requête suggérée, il n'est pas nécessaire de créer des relations.
Berorn
14 nov. 2020 à 14:52
- Messages postés
- 30
- Date d'inscription
- jeudi 16 février 2017
- Statut
- Membre
- Dernière intervention
- 5 août 2022
14 nov. 2020 à 14:52
Bonjour,
Je reviens sur le sujet après de nombreux essais mais en vain.
Par rapport à la solution ci dessus, le résultat n'est pas les sommes ne sont pas les bonnes comme-ci elles étaient multiplié par le nombre de prélèvement....
Je décide donc de suivre les conseils de yg_be est de vous ré-expliquer mon problème.
J'ai actuellement un logiciel de GPAO qui me crée une liste de production, voici la table que j'injecte dans access : T_Clipper
Ces champs : N°Pointage(Clef primaire), DateProd, RefEmploye, IdMachine,Piece,N°Phase,DesignationPhase,Nbheure,NbPieceBonne
Explication : Tel jour, on produit une pièce sur une machine, par tel employe on fait tant de pièce en tant de temps. Une pièce peut avoir plusieurs phases (ex : 10,20,....)
Ensuite un logiciel de gestion de consommables me donne les consommables prélevés par Machine c'est ma table : T_Arm
Ces champs : N°Prelevement(Clef primaire),DatePrelevement,RefEmploye,IdComposant,QtPrelevee,Valeur,IdMachine
Explication : Tel jour, sur telle machine, l'employé X a prelevé 1 ou plusieurs composants, cela coût tant
Le but final est d'obtenir un état avec une liste avec les champs suivant :
Piece,SommeNbPieceBonnePhaseMax,SommeValeur
ces champ correspondent :
Piece = Toutes les pièces qui apparaissent dans la T_Clipper
SommeNbPieceBonnePhaseMax = après avoir identifié le N°phase maximum par piece (ex : Pour la PC1, la dernière phase (le n°phase maxi) est 20), nous faisons la somme de toutes les pièces bonnes de cette phase.
SommeValeur = La totalité des valeurs prélevées pour cette pièce peu importe les phases.
Premier problème c'est que ma table T_Arm me dit pas que tel prélèvement est réalisé pour tel pièce, tel phase. Le seul lien est : Si DateProd dans T_Clipper = DatePrelevement dans T_Arm et RefEmploye dans T_Clipper = RefEmploye dans T_Arm et IdMachine dans T_Clipper = IdMachine dans T_Arm, ces conditions nous permet donc de lier un prélèvement à une pièce et une phase.
Une fois que j'arrive à faire ce lien, je pense réussir à faire les sommes que je veux pour faire mon état. j'espère avoir été plus clair. Je suis à votre écoute pour toutes remarques si je n'ai pas utilisé la bonne méthodologie.
Je reviens sur le sujet après de nombreux essais mais en vain.
Par rapport à la solution ci dessus, le résultat n'est pas les sommes ne sont pas les bonnes comme-ci elles étaient multiplié par le nombre de prélèvement....
Je décide donc de suivre les conseils de yg_be est de vous ré-expliquer mon problème.
J'ai actuellement un logiciel de GPAO qui me crée une liste de production, voici la table que j'injecte dans access : T_Clipper
Ces champs : N°Pointage(Clef primaire), DateProd, RefEmploye, IdMachine,Piece,N°Phase,DesignationPhase,Nbheure,NbPieceBonne
Explication : Tel jour, on produit une pièce sur une machine, par tel employe on fait tant de pièce en tant de temps. Une pièce peut avoir plusieurs phases (ex : 10,20,....)
Ensuite un logiciel de gestion de consommables me donne les consommables prélevés par Machine c'est ma table : T_Arm
Ces champs : N°Prelevement(Clef primaire),DatePrelevement,RefEmploye,IdComposant,QtPrelevee,Valeur,IdMachine
Explication : Tel jour, sur telle machine, l'employé X a prelevé 1 ou plusieurs composants, cela coût tant
Le but final est d'obtenir un état avec une liste avec les champs suivant :
Piece,SommeNbPieceBonnePhaseMax,SommeValeur
ces champ correspondent :
Piece = Toutes les pièces qui apparaissent dans la T_Clipper
SommeNbPieceBonnePhaseMax = après avoir identifié le N°phase maximum par piece (ex : Pour la PC1, la dernière phase (le n°phase maxi) est 20), nous faisons la somme de toutes les pièces bonnes de cette phase.
SommeValeur = La totalité des valeurs prélevées pour cette pièce peu importe les phases.
Premier problème c'est que ma table T_Arm me dit pas que tel prélèvement est réalisé pour tel pièce, tel phase. Le seul lien est : Si DateProd dans T_Clipper = DatePrelevement dans T_Arm et RefEmploye dans T_Clipper = RefEmploye dans T_Arm et IdMachine dans T_Clipper = IdMachine dans T_Arm, ces conditions nous permet donc de lier un prélèvement à une pièce et une phase.
Une fois que j'arrive à faire ce lien, je pense réussir à faire les sommes que je veux pour faire mon état. j'espère avoir été plus clair. Je suis à votre écoute pour toutes remarques si je n'ai pas utilisé la bonne méthodologie.
yg_be
Modifié le 14 nov. 2020 à 15:46
- Messages postés
- 19961
- Date d'inscription
- lundi 9 juin 2008
- Statut
- Contributeur
- Dernière intervention
- 8 août 2022
Modifié le 14 nov. 2020 à 15:46
si j'ai compris ce que tu veux obtenir, je suggère de faire deux requêtes, une qui retourne
et ensuite, faire une troisième requête à partir des deux premières (sans calculer de sommes).
Piece,SommeValeuret une autre qui retourne
Piece,SommeNbPieceBonnePhaseMax.
et ensuite, faire une troisième requête à partir des deux premières (sans calculer de sommes).
Berorn
14 nov. 2020 à 16:50
- Messages postés
- 30
- Date d'inscription
- jeudi 16 février 2017
- Statut
- Membre
- Dernière intervention
- 5 août 2022
- Messages postés
- 19961
- Date d'inscription
- lundi 9 juin 2008
- Statut
- Contributeur
- Dernière intervention
- 8 août 2022
14 nov. 2020 à 16:50
J'ai mis ma base dans un commentaire ci-dessous, voilà ce que je veux obtenir :

yg_be
14 nov. 2020 à 17:50
- Messages postés
- 19961
- Date d'inscription
- lundi 9 juin 2008
- Statut
- Contributeur
- Dernière intervention
- 8 août 2022
- Messages postés
- 30
- Date d'inscription
- jeudi 16 février 2017
- Statut
- Membre
- Dernière intervention
- 5 août 2022
14 nov. 2020 à 17:50
as-tu essayé ma suggestion de faire deux requêtes?
Berorn
14 nov. 2020 à 18:29
- Messages postés
- 30
- Date d'inscription
- jeudi 16 février 2017
- Statut
- Membre
- Dernière intervention
- 5 août 2022
- Messages postés
- 19961
- Date d'inscription
- lundi 9 juin 2008
- Statut
- Contributeur
- Dernière intervention
- 8 août 2022
14 nov. 2020 à 18:29
Non car dans la première requête que tu me propose je ne vois pas comment faire le lien entre piece et somme valeur....
Désolé je crois que je n'ai pas choisi le sujet le plus facile pour me mettre à Access....
Désolé je crois que je n'ai pas choisi le sujet le plus facile pour me mettre à Access....
yg_be
14 nov. 2020 à 18:30
- Messages postés
- 19961
- Date d'inscription
- lundi 9 juin 2008
- Statut
- Contributeur
- Dernière intervention
- 8 août 2022
- Messages postés
- 30
- Date d'inscription
- jeudi 16 février 2017
- Statut
- Membre
- Dernière intervention
- 5 août 2022
14 nov. 2020 à 18:30
oui, je pense préférable de commencer par des exercices plus simples.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
bonjour
pour mieux etudier ton probleme, peux tu mettre ta base compressé en zip dans un lien avec c joint com sur comment ca marche
pour mieux etudier ton probleme, peux tu mettre ta base compressé en zip dans un lien avec c joint com sur comment ca marche
Berorn
14 nov. 2020 à 16:42
- Messages postés
- 30
- Date d'inscription
- jeudi 16 février 2017
- Statut
- Membre
- Dernière intervention
- 5 août 2022
14 nov. 2020 à 16:42
https://www.cjoint.com/c/JKopONs4t6s
Voici ma base compressée, si ça marche
Vous verrez il y a des tables en plus mais c'était pour des essais, elles ne sont peut être pas utiles. Attention des relations existent...
Voici ma base compressée, si ça marche
Vous verrez il y a des tables en plus mais c'était pour des essais, elles ne sont peut être pas utiles. Attention des relations existent...