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

Champ Calculé:rqt#VBA

2 réponses
Avatar
Torquemada
Bonjour à tous
Dans un sous form basé sur une rqt vous pouvez très bien créer (grace à la
rqt),un champ calculé qui apparaitra dans votre sous form et pas dans les
tables
Ex [prix produit]
[Qté]
Prix à payer: [prix produit]*[Qté]

Le champ Prix à payer n'apparait que dans le sous form,n'est pas stocké et
dans la ligne source contrôle la rqt a inscrit Prix à payer

Mais est -il possible de faire la même chose en VBA?
Supposons que la rqt n'ai que les 2 premiers champs

[prix produit]
[Qté]
Dans mon sous form je crée un champ [Prix à payer]

source du champ on ne met rien

Sur l'évènement àprès maj du champ quantité
je mets en vba (version simplifié)
[Prix à payer]=[prix produit]*[Qté]

Celà marche mais le résultat affecte tous les enregistrements du sous form
et pas seulement l'enregistrement ou vous êtes.
Si on met dans source du champ ,le nom du champ comme le fait la rqt , le
code VBA refuse de s'exécuter.
Y a-t-il une solution en VBA

J'espère avoir été clair.
Merci de m'avoir consacré de votre temps

2 réponses

Avatar
3stone
Salut,

"Torquemada"
| Dans un sous form basé sur une rqt vous pouvez très bien créer (grace à la
| rqt),un champ calculé qui apparaitra dans votre sous form et pas dans les
| tables
| Ex [prix produit]
| [Qté]
| Prix à payer: [prix produit]*[Qté]
|
| Le champ Prix à payer n'apparait que dans le sous form,n'est pas stocké et
| dans la ligne source contrôle la rqt a inscrit Prix à payer
|
| Mais est -il possible de faire la même chose en VBA?
| Supposons que la rqt n'ai que les 2 premiers champs
|
| [prix produit]
| [Qté]
| Dans mon sous form je crée un champ [Prix à payer]
|
| source du champ on ne met rien
|
| Sur l'évènement àprès maj du champ quantité
| je mets en vba (version simplifié)
| [Prix à payer]=[prix produit]*[Qté]
|
| Celà marche mais le résultat affecte tous les enregistrements du sous form
| et pas seulement l'enregistrement ou vous êtes.
| Si on met dans source du champ ,le nom du champ comme le fait la rqt , le
| code VBA refuse de s'exécuter.
| Y a-t-il une solution en VBA


Ce n'est pas un problème de VBA ou pas VBA... mais de champ indépendant !

La bonne méthode est de créer ce champ calculé dans la requête source,
comme tu l'a indiqué. Car à ce moment là, la zone de texte n'est plus
indépendante, mais basée sur un champ du recordset !


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Avatar
Saintor
Si je comprends bien, il faudrait créer une fonction dans l'éditeur VBA, pas
nécessairement le code source du formulaire.

Public Function PrixTotal(arg1 as currency, arg2 as double) as currency
PrixTotal= arg1 * arg2
End Function

Dans la propriété ControlSource, ce sera
=PrixTotal([prix produit];[Qté])



"Torquemada" wrote in message
news:
Bonjour à tous
Dans un sous form basé sur une rqt vous pouvez très bien créer (grace à la
rqt),un champ calculé qui apparaitra dans votre sous form et pas dans les
tables
Ex [prix produit]
[Qté]
Prix à payer: [prix produit]*[Qté]

Le champ Prix à payer n'apparait que dans le sous form,n'est pas stocké et
dans la ligne source contrôle la rqt a inscrit Prix à payer

Mais est -il possible de faire la même chose en VBA?
Supposons que la rqt n'ai que les 2 premiers champs

[prix produit]
[Qté]
Dans mon sous form je crée un champ [Prix à payer]

source du champ on ne met rien

Sur l'évènement àprès maj du champ quantité
je mets en vba (version simplifié)
[Prix à payer]=[prix produit]*[Qté]

Celà marche mais le résultat affecte tous les enregistrements du sous form
et pas seulement l'enregistrement ou vous êtes.
Si on met dans source du champ ,le nom du champ comme le fait la rqt , le
code VBA refuse de s'exécuter.
Y a-t-il une solution en VBA

J'espère avoir été clair.
Merci de m'avoir consacré de votre temps