Difference de deux valeurs d'un meme champ
Fermé
kotor70
Messages postés
11
Date d'inscription
lundi 2 mars 2015
Statut
Membre
Dernière intervention
14 janvier 2016
-
2 mars 2015 à 15:43
kotor70 - 13 mars 2015 à 11:17
kotor70 - 13 mars 2015 à 11:17
A voir également:
- Difference de deux valeurs d'un meme champ
- Deux comptes whatsapp - Guide
- Deux ecran pc - Guide
- Difference tcp udp - Guide
- Tcd différence entre deux colonnes ✓ - Forum Excel
- Supprimer une conversation messenger pour les deux personnes ✓ - Forum Facebook
5 réponses
Bonjour,
Et bien tu écris pour la valeur de ContrôleTotal = ContrôleA - ContrôleB où est le problème?
Et bien tu écris pour la valeur de ContrôleTotal = ContrôleA - ContrôleB où est le problème?
kotor70
Messages postés
11
Date d'inscription
lundi 2 mars 2015
Statut
Membre
Dernière intervention
14 janvier 2016
4 mars 2015 à 16:57
4 mars 2015 à 16:57
Voilà la requete qui est derrière l'etat:
SELECT TBL_MVT_CPT_A_MVT_CPT.Date_Mvt, TBL_DE_COMPTE.Nom_PDV_D_CPTE, TBL_DE_COMPTE.Prenom_PDV_D_CPTE, TBL_A_COMPTE.Nom_PDV, TBL_A_COMPTE.Prenom_PDV, TBL_MVT_CPT_A_MVT_CPT.Sens_Mvt, Sum(TBL_MVT_CPT_A_MVT_CPT.Montant_Mvt) AS TOTAL
FROM TBL_A_COMPTE INNER JOIN (TBL_DE_COMPTE INNER JOIN TBL_MVT_CPT_A_MVT_CPT ON TBL_DE_COMPTE.Num_Tel_D_CPTE = TBL_MVT_CPT_A_MVT_CPT.Num_Tel_D_CPTE) ON TBL_A_COMPTE.Num_Tel_A_COMPTE = TBL_MVT_CPT_A_MVT_CPT.Num_Tel_A_COMPTE
GROUP BY TBL_MVT_CPT_A_MVT_CPT.Date_Mvt, TBL_DE_COMPTE.Nom_PDV_D_CPTE, TBL_DE_COMPTE.Prenom_PDV_D_CPTE, TBL_A_COMPTE.Nom_PDV, TBL_A_COMPTE.Prenom_PDV, TBL_MVT_CPT_A_MVT_CPT.Sens_Mvt
HAVING (((TBL_MVT_CPT_A_MVT_CPT.Date_Mvt)=[DONNER LA DATE MVT]) AND ((TBL_DE_COMPTE.Nom_PDV_D_CPTE)=[DONNER NOM DE CPTE]) AND ((TBL_DE_COMPTE.Prenom_PDV_D_CPTE)=[DONNER PRENOM DE CPT]) AND ((TBL_MVT_CPT_A_MVT_CPT.Sens_Mvt) In ('Retour','Envoi'))) OR (((TBL_DE_COMPTE.Nom_PDV_D_CPTE)=[DONNER NOM A CPTE]) AND ((TBL_DE_COMPTE.Prenom_PDV_D_CPTE)=[PRENOM A CPTE]));
SELECT TBL_MVT_CPT_A_MVT_CPT.Date_Mvt, TBL_DE_COMPTE.Nom_PDV_D_CPTE, TBL_DE_COMPTE.Prenom_PDV_D_CPTE, TBL_A_COMPTE.Nom_PDV, TBL_A_COMPTE.Prenom_PDV, TBL_MVT_CPT_A_MVT_CPT.Sens_Mvt, Sum(TBL_MVT_CPT_A_MVT_CPT.Montant_Mvt) AS TOTAL
FROM TBL_A_COMPTE INNER JOIN (TBL_DE_COMPTE INNER JOIN TBL_MVT_CPT_A_MVT_CPT ON TBL_DE_COMPTE.Num_Tel_D_CPTE = TBL_MVT_CPT_A_MVT_CPT.Num_Tel_D_CPTE) ON TBL_A_COMPTE.Num_Tel_A_COMPTE = TBL_MVT_CPT_A_MVT_CPT.Num_Tel_A_COMPTE
GROUP BY TBL_MVT_CPT_A_MVT_CPT.Date_Mvt, TBL_DE_COMPTE.Nom_PDV_D_CPTE, TBL_DE_COMPTE.Prenom_PDV_D_CPTE, TBL_A_COMPTE.Nom_PDV, TBL_A_COMPTE.Prenom_PDV, TBL_MVT_CPT_A_MVT_CPT.Sens_Mvt
HAVING (((TBL_MVT_CPT_A_MVT_CPT.Date_Mvt)=[DONNER LA DATE MVT]) AND ((TBL_DE_COMPTE.Nom_PDV_D_CPTE)=[DONNER NOM DE CPTE]) AND ((TBL_DE_COMPTE.Prenom_PDV_D_CPTE)=[DONNER PRENOM DE CPT]) AND ((TBL_MVT_CPT_A_MVT_CPT.Sens_Mvt) In ('Retour','Envoi'))) OR (((TBL_DE_COMPTE.Nom_PDV_D_CPTE)=[DONNER NOM A CPTE]) AND ((TBL_DE_COMPTE.Prenom_PDV_D_CPTE)=[PRENOM A CPTE]));
Bonjour,
En principe tu ne peux pas faire des calculs entre "2 étages" d'une requête, ou d'un formulaire ou état, parce que Access considère les enregistrements comme indépendants. La seule chose que tu puisses envisager est des regroupements, par exemple par période, semaine, mois, année, etc, et de faire des cumuls sur ces périodes avec la fonction "sum()" mais pas des différences entre 2 enregistrements. Ou alors, si tu trouves une astuce..., je suis aussi preneur...
En principe tu ne peux pas faire des calculs entre "2 étages" d'une requête, ou d'un formulaire ou état, parce que Access considère les enregistrements comme indépendants. La seule chose que tu puisses envisager est des regroupements, par exemple par période, semaine, mois, année, etc, et de faire des cumuls sur ces périodes avec la fonction "sum()" mais pas des différences entre 2 enregistrements. Ou alors, si tu trouves une astuce..., je suis aussi preneur...
castours
Messages postés
2955
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
31 août 2019
217
4 mars 2015 à 22:38
4 mars 2015 à 22:38
Bonjour Tessel75
On peut calculer le cumul des enregistrements au fur a mesurea condition qu'il n y est pas de trou dans les n° d'enregistrement. Là c'est le N° de list.
On additionne les enregistrements
Cumul: SomDom("Tonnage";"T_Tonnage";"N°List <=" & [N°List])
On soustrait les enregistrements
Cumul: SomDom("Tonnage";"T_Tonnage";"N°List >=" & [N°List])
On peut calculer le cumul des enregistrements au fur a mesurea condition qu'il n y est pas de trou dans les n° d'enregistrement. Là c'est le N° de list.
On additionne les enregistrements
Cumul: SomDom("Tonnage";"T_Tonnage";"N°List <=" & [N°List])
On soustrait les enregistrements
Cumul: SomDom("Tonnage";"T_Tonnage";"N°List >=" & [N°List])
Tessel75
>
castours
Messages postés
2955
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
31 août 2019
5 mars 2015 à 11:26
5 mars 2015 à 11:26
Bonjour Castours,
Merci pour tes indications. Je ne connaissais pas ces écritures, ni même qu'elles étaient possibles.
Merci pour tes indications. Je ne connaissais pas ces écritures, ni même qu'elles étaient possibles.
kotor70
Messages postés
11
Date d'inscription
lundi 2 mars 2015
Statut
Membre
Dernière intervention
14 janvier 2016
>
castours
Messages postés
2955
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
31 août 2019
5 mars 2015 à 15:00
5 mars 2015 à 15:00
Bonjour Castours,
Comment puis-je utilisé la formule suivante: Cumul: SomDom("Tonnage";"T_Tonnage";"N°List >=" & [N°List]) dans ma requête.
Cordialement,
Comment puis-je utilisé la formule suivante: Cumul: SomDom("Tonnage";"T_Tonnage";"N°List >=" & [N°List]) dans ma requête.
Cordialement,
castours
>
kotor70
Messages postés
11
Date d'inscription
lundi 2 mars 2015
Statut
Membre
Dernière intervention
14 janvier 2016
5 mars 2015 à 17:47
5 mars 2015 à 17:47
Bonjour
par exemple dans une table tu creais 3 champs.
N°List [clé primaire] en N° auto
Cumul et tonnage en numerique
Date saisie champ date
Tu y mets quelques enregistrements.
Tu fais une requete sur tous les champs
en mode creation requete, sur cumul , tu ajoutes ceci:
Les tonnages s'ajoutes sur chaques enregistrements
Cumul: SomDom("Tonnage";"T_Tonnage";"N°List <=" & [N°List])
par exemple dans une table tu creais 3 champs.
N°List [clé primaire] en N° auto
Cumul et tonnage en numerique
Date saisie champ date
Tu y mets quelques enregistrements.
Tu fais une requete sur tous les champs
en mode creation requete, sur cumul , tu ajoutes ceci:
Les tonnages s'ajoutes sur chaques enregistrements
Cumul: SomDom("Tonnage";"T_Tonnage";"N°List <=" & [N°List])
bonjour,
Est il possible (et comment)de lancer séparément les deux requêtes à partir de code VB(exécution requête sélection à partir de VB) et récupérer dans deux variables les valeurs à du champ TOTAL et ensuite faire la différence des deux variables.
Cordialement,
Est il possible (et comment)de lancer séparément les deux requêtes à partir de code VB(exécution requête sélection à partir de VB) et récupérer dans deux variables les valeurs à du champ TOTAL et ensuite faire la différence des deux variables.
Cordialement,
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
J'ai pu récupéré la valeur du champ dans une variable en VBA avec une requête sélection simple. Mais dans mon cas précis la requête a une clause HAIVING,donc au chargement de l'etat le message d'erreur suivant s'affiche: "Erreur d'execution 3061 Trop peu de paramètres.5 attendu."
Cordialement
J'ai pu récupéré la valeur du champ dans une variable en VBA avec une requête sélection simple. Mais dans mon cas précis la requête a une clause HAIVING,donc au chargement de l'etat le message d'erreur suivant s'affiche: "Erreur d'execution 3061 Trop peu de paramètres.5 attendu."
Cordialement
2 mars 2015 à 18:10
Deficit=TOTAL-TOTAL ne donne pas de bonne reponse
2 mars 2015 à 20:57
Et de même, dire exactement comment tu avais écrit ton opération!
Je ne suis pas devin.
3 mars 2015 à 14:40
pour info l 'etat est basé sur une requête qui lancée donne toujours deux enregistrements. je voudrais faire ressortit le deficit en faisant la difference des deux valeurs du champ TOTAL.
Cordialement,
5 mars 2015 à 09:22
Ta table est mal construite.
Tu devrais avoir un champ date, un champ envoi et un champ retour.
Aprés tu fais une requete de regroupement et tu creais un champ total dans requete ou tu mets la formule de calcul