Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb avec un champ calculé

8 réponses
Avatar
Dietch
Bonjour à tous.
Dans un sous formulaire A (qui représente un panier d'achat) j'ai un champ
calculé TOTAL (dans le pied du sous-formulaire A) dont la source est
=somme([pligne]), [pligne] étant un champ calculé par la requête du panier
d'achat =panier.nbr*produit.prixvente

Mon problème est que le formulaire affiche correctement ce total (total des
différentes ligne du panier d'achat) mais qu'access considère ce total <0
dans tous les cas lors d'une vérification de condition dans une macro...
(pour ouvrir un formulaire d'encaissement)

Si j'ai été assez clair dans mon problème quelqu'un aurait-il une solution ?
Est ce un problème de configuration d'access car je n'ai pas eu ce problème
sur d'autres PC !

8 réponses

Avatar
3stone
Salut,

"Dietch"
| Dans un sous formulaire A (qui représente un panier d'achat) j'ai un champ
| calculé TOTAL (dans le pied du sous-formulaire A) dont la source est
| =somme([pligne]), [pligne] étant un champ calculé par la requête du panier
| d'achat =panier.nbr*produit.prixvente



Normalement, tu devrais écrire :

=Sum(Nbre * PrixVente)




| Mon problème est que le formulaire affiche correctement ce total (total des
| différentes ligne du panier d'achat) mais qu'access considère ce total <0
| dans tous les cas lors d'une vérification de condition dans une macro...
| (pour ouvrir un formulaire d'encaissement)


pas compris...




--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Dietch
salut,

Normalement, tu devrais écrire :
=Sum(Nbre * PrixVente)


ben cette formule renvoie une erreur d'agrégat et ne me donne pas ce que je
veux à savoir le prix ligne par ligne.

pas compris...
en fait j'ai une ligne de macro qui a pour une condition que le total soit >0.

Le sous formulaire affiche 15 €
Lorsque je controle pas à pas l'exécution de la macro, lorsque la condition
apparait
(forms!vente!panier!total>0) la réponse est faux ! Alors que je vois 15 € !!

merci d'avance,
A+


Avatar
3stone
re,

"Dietch"
|
| > Normalement, tu devrais écrire :
| > =Sum(Nbre * PrixVente)
|
| ben cette formule renvoie une erreur d'agrégat et ne me donne pas ce que je
| veux à savoir le prix ligne par ligne.


Tu as dit que tu avait cela dans le PIED du sous-formulaire, et non sur la ligne...



| > pas compris...
| en fait j'ai une ligne de macro qui a pour une condition que le total soit >0.
| Le sous formulaire affiche 15 €
| Lorsque je controle pas à pas l'exécution de la macro, lorsque la condition
| apparait
| (forms!vente!panier!total>0) la réponse est faux ! Alors que je vois 15 € !!


Forms!Vente!Panier.Form!Total

mais cela peut être un problème de synchro...


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Dietch
re,

Forms!Vente!Panier.Form!Total

mais cela peut être un problème de synchro...


cette formule m'a déjà donné une erreur d'automatisation !! :/

pb de synchro ??? qu'est ce donc ??

Avatar
3stone
"Dietch" a écrit dans le message de news:

| re,
|
| > Forms!Vente!Panier.Form!Total
| >
| > mais cela peut être un problème de synchro...
|
| cette formule m'a déjà donné une erreur d'automatisation !! :/


Dans ce cas, c'est à toi de nous dire ce que sont Ventes, Panier et Total !!!



| pb de synchro ??? qu'est ce donc ??


Si l'on essaie de copier le résultat d'un champ calculé, il se peut,
selon la méthode utilisée, que le champ calculé soit mis à jour _après_
que la recopie est demandée.


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Dietch
salut,

Dans ce cas, c'est à toi de nous dire ce que sont Ventes, Panier et Total !!!


bon oui je sais c pas tres clair...

Schèma du formulaire :
_Formulaire Ventes
_Sous formulaire Panier
_Champ Prixligne dans le détail du formulaire (formulaire
continu)
_Champ calculé Total dans le pied du sous formulaire
=somme([Prixligne])

Schéma de la macro :
Nom : ouvrir
Condition : forms!ventes!panier!total>0
Action : Ouvrirformulaire --> Encaissement

Et lorsque ce fameux total est = 15, le pas à pas annonce faux à la
condition de la macro ouvrir...
Je n'ai pas ce problème sur 3 autres PC mais sur une nouvelle machine oui.

J'espère que c'est un peu plus clair !!!
Merci d'avance, moi en y a rien comprendre à ce problème restreint à une
seule machine sur 4 !!

Avatar
3stone
re,

"Dietch"
| Schèma du formulaire :
| _Formulaire Ventes
| _Sous formulaire Panier
| _Champ Prixligne dans le détail du formulaire (formulaire
| continu)
| _Champ calculé Total dans le pied du sous formulaire
| =somme([Prixligne])


L'expression exacte est donc bien :

Forms!Ventes!Panier.Form!Total

pour autant que le contrôle sous-formulaire se nomme bien "Panier"


| Schéma de la macro :
| Nom : ouvrir
| Condition : forms!ventes!panier!total>0
| Action : Ouvrirformulaire --> Encaissement
|
| Et lorsque ce fameux total est = 15, le pas à pas annonce faux à la
| condition de la macro ouvrir...


La méthode est mauvaise... c'est pour cela que je te parlais de problème de synchro
Quand appelle tu la macro ?

macro que tu devrais éviter...
- pas de gestion des erreurs
- maintenance impossible
- deboguage difficile



| Je n'ai pas ce problème sur 3 autres PC mais sur une nouvelle machine oui.

Ce qui ne veut rien dire... il suffit quelle soit de performance très différente
pour qu'une méthode "sur le fil" ne fonctionne plus.


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Dietch
re,

L'expression exacte est donc bien :

Forms!Ventes!Panier.Form!Total


Ok je vais essayer ça ce soir sur la machine qui bug... mais c'est vrai que
sur les 3 autres machines ça me donne une erreur...

pour autant que le contrôle sous-formulaire se nomme bien "Panier"


vivi !

La méthode est mauvaise... c'est pour cela que je te parlais de problème de synchro
Quand appelle tu la macro ?


C'est un appel par clic sur un bouton, après actualisation du total du
panier. Quand l'utilisateur estime le panier rempli, il clique sur
encaissement. Et donc ça vérifie que le panier contient au moins un article
(par le total) ! Sur la méthode, c'est clair, mais j'apprends sur le tas... :/

macro que tu devrais éviter...
- pas de gestion des erreurs
- maintenance impossible
- deboguage difficile


Vi mais actuellement c'est la seule méthode que je connaisse... Le VB c'est
pour bientôt... ou quand j'aurais le temps de potasser. J'ai des restes de
Basic d'il y a 15 ans...

| Je n'ai pas ce problème sur 3 autres PC mais sur une nouvelle machine oui.

Ce qui ne veut rien dire... il suffit quelle soit de performance très différente
pour qu'une méthode "sur le fil" ne fonctionne plus.


C'est très probablement ça. La 4e est un PC beaucoup beaucoup moins puissant !

Merci pour tes réponses, si j'ai de nouveau une question sur ce sujet, je te
solliciterai ;)
merci @+