Difference de deux valeurs d'un meme champ
kotor70
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
kotor70 -
kotor70 -
Bonjour
Voilà deux enregistrements dans l'edition d' un etat:
date |sens |TOTAL
10-janv-15|Retour|495000
10-janv-15|Envoi |425000
Je voudrais mettre la difference du champ TOTAL(495000-425000) dans une zone de texte sur le même etat.
Cordialement,
Voilà deux enregistrements dans l'edition d' un etat:
date |sens |TOTAL
10-janv-15|Retour|495000
10-janv-15|Envoi |425000
Je voudrais mettre la difference du champ TOTAL(495000-425000) dans une zone de texte sur le même etat.
Cordialement,
A voir également:
- Difference de deux valeurs d'un meme champ
- Difference tcp udp - Guide
- Difference million milliard - Accueil - Technologies
- Nombre de jours entre deux dates excel - Guide
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
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?
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...
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])
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
Deficit=TOTAL-TOTAL ne donne pas de bonne reponse
Et de même, dire exactement comment tu avais écrit ton opération!
Je ne suis pas devin.
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,
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