OVH Cloud OVH Cloud

calculer dans un autre champs

14 réponses
Avatar
jourdelan
Bonjour à tous,
J'ai une table prêt de matériel
avec
"nom"
"prénom"
"désignation" "montant du prêt, champs numérique"
"mb" "X"
et un formulaire
et je souhaiterai quand je rentre le mb X qu'il aille inscrire le montant
dans montant du prêt
Ex : mb marteau = 5, Prêt marteau 5?, quand je rentre 5, je veux qu'il il
aille a m'écrire 25? dans le champs "montant du prêt, champs numérique"
je ne sais pas si j'ai pu me faire comprendre
d'avance je vous remercie
je ne maîtrise pas SQL,ni l'anglais
GC

10 réponses

1 2
Avatar
Gafish
Bonjour,

Il est souvent déconseillé de stocker un résultat de calcul dans un champ,
mais plutôt de faire le calcul par requête quand tu en as besoin.
Malgré tout, pour faire ce que tu veux faire, tu peux faire la chose
suivante :
Je suppose que tu as un formulaire avec les zones de textes mb, X et montant
(à remplacer par les noms des tiennes).
Sur l'évenement "Perte de focus" (lost focus) de ta zone de texte X, ainsi
que sur l'évenement "Perte de focus" de ta zone de texte mb (tu trouveras
les évenements dans la fenetre propriété), tu mets le code suivant (le même
dans les deux évenements) :

Me.montant = Me.mb * Me.X


Arnaud


"jourdelan" a écrit dans le message news:

Bonjour à tous,
J'ai une table prêt de matériel
avec
"nom"
"prénom"
"désignation" "montant du prêt, champs numérique"
"mb" "X"
et un formulaire
et je souhaiterai quand je rentre le mb X qu'il aille inscrire le montant
dans montant du prêt
Ex : mb marteau = 5, Prêt marteau 5?, quand je rentre 5, je veux qu'il
il

aille a m'écrire 25? dans le champs "montant du prêt, champs numérique"
je ne sais pas si j'ai pu me faire comprendre
d'avance je vous remercie
je ne maîtrise pas SQL,ni l'anglais
GC




Avatar
jourdelan
Gafish wrote:
Bonjour,

Il est souvent déconseillé de stocker un résultat de calcul dans un
champ, mais plutôt de faire le calcul par requête quand tu en as
besoin.
Malgré tout, pour faire ce que tu veux faire, tu peux faire la chose
suivante :
Je suppose que tu as un formulaire avec les zones de textes mb, X et
montant (à remplacer par les noms des tiennes).
Sur l'évenement "Perte de focus" (lost focus) de ta zone de texte X,
ainsi que sur l'évenement "Perte de focus" de ta zone de texte mb (tu
trouveras les évenements dans la fenetre propriété), tu mets le code
suivant (le même dans les deux évenements) :

Me.montant = Me.mb * Me.X


Arnaud


Je vais essayer de suite
A+ pour le résultat merci

Avatar
jourdelan
Gafish wrote:
Bonjour,

Il est souvent déconseillé de stocker un résultat de calcul dans un
champ, mais plutôt de faire le calcul par requête quand tu en as
besoin.
Malgré tout, pour faire ce que tu veux faire, tu peux faire la chose
suivante :
Je suppose que tu as un formulaire avec les zones de textes mb, X et
montant (à remplacer par les noms des tiennes).
Sur l'évenement "Perte de focus" (lost focus) de ta zone de texte X,
ainsi que sur l'évenement "Perte de focus" de ta zone de texte mb (tu
trouveras les évenements dans la fenetre propriété), tu mets le code
suivant (le même dans les deux évenements) :

Me.montant = Me.mb * Me.X


Arnaud
Re, j'ai imprimé le poste, j'ai bien un formulaire qui reprend tous les

champs de la table
je ne comprend pas ce que tu appels les zones de textes mb
je pense que je dois aller dans le champs nb écrire une formule qui va aller
s'écrire dans le champs désignation du matériel, quand je fais propriété où
dois-je écrire cette formule, car je ne sais pas écrire en SQL
je sais faire une requête simple
Gérard

Avatar
Gafish

Arnaud
Re, j'ai imprimé le poste, j'ai bien un formulaire qui reprend tous les

champs de la table
je ne comprend pas ce que tu appels les zones de textes mb
je pense que je dois aller dans le champs nb écrire une formule qui va
aller

s'écrire dans le champs désignation du matériel, quand je fais propriété


dois-je écrire cette formule, car je ne sais pas écrire en SQL
je sais faire une requête simple
Gérard



Les zones de textes sont les zones de saisie basées sur les champs de ta
table, là où l'utilisateur va saisir les données.
Sur celle basée sur nb et celle basée sur X, tu vas dans la fenêtre
propriété. Dans celle-ci, dans l'onglet "evenements", tu vas trouver sur
perte focus. Avec le bouton à droite tu appeles le générateur de code où tu
écris simplement la ligne de code que je t'ai donné :

Me.montant = Me.nb * Me.X

Ici Me veut dire ton formulaire, montant est la zone basée sur montant, nb
la zone basée sur nb, et X la zone basée sur X. Si ce ne sont pas tout à
fait les bons noms, remplace par ceux que tu as réellement.

Arnaud


Avatar
3stone
Salut,

"jourdelan"
[...]
Me.skis enfants=Me.nb*Me;prix



Me![skis enfants]


un nom de champ ne peu avoir d'espace !
si tout de même, entourez de crochet...


--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome

Avatar
Gafish
et pour compléter la réponse de 3stone, pas de point virgule entre Me et
prix mais un point, mais je pense que c'est juste une faute de frappe lors
de la saisie du post, non ?

"3stone" a écrit dans le message de
news:
Salut,

"jourdelan"
[...]
Me.skis enfants=Me.nb*Me;prix



Me![skis enfants]


un nom de champ ne peu avoir d'espace !
si tout de même, entourez de crochet...


--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome






Avatar
jourdelan
Les zones de textes sont les zones de saisie basées sur les champs de
ta table, là où l'utilisateur va saisir les données.
Sur celle basée sur nb et celle basée sur X, tu vas dans la fenêtre
propriété. Dans celle-ci, dans l'onglet "evenements", tu vas trouver
sur perte focus. Avec le bouton à droite tu appeles le générateur de
code où tu écris simplement la ligne de code que je t'ai donné :

Me.montant = Me.nb * Me.X

Ici Me veut dire ton formulaire, montant est la zone basée sur
montant, nb la zone basée sur nb, et X la zone basée sur X. Si ce ne
sont pas tout à fait les bons noms, remplace par ceux que tu as
réellement.

Arnaud
J'ai bien fais toute la manoeuvre que tu m a décrite

j'ai écrit 2 fois la formule suivante
une fois dans nb une fois dans prix

Me.skis enfants=Me.nb*Me;prix
Il me répond :
Microsoft Acess ne peut pas trouver la macro Me. etc.
je recommence , je persévère
mais encore un petit coup de pouce
Merci
Gérard

Avatar
RaphK34
bsoir,
j'ai l'impression que tu as un "=" en trop

Me.SkisEnfants=Me.nb*Me.prix

devrait fonctionner.

Quand tu écris "me." il devrait te proposer entre autre la liste des champs de ton form, si ce n'est pas le cas c'est peut être
qu'il y a un problème.

--
--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !

Pour un contact direct, utiliser:
en enlevant nospam.
--------------------------------------------

"jourdelan" a écrit dans le message de news:
|
| oui c'était bien un faute de frappe
| mais je n y arrive toujours pas alors ?
| J'ai bien écrit la formule suivante dans
| événement
| dans : sur perte focus
| =Me.[skisenfants]=Me.[nb]*Me.[prix]
| alors ou est l'erreur ?
| qu'appel t'on focus
| je connaît ce terme en photographie qui veut dire ouverture mais là je ne
| comprend pas?
| Merci
| Gafish wrote:
| > et pour compléter la réponse de 3stone, pas de point virgule entre Me
| > et prix mais un point, mais je pense que c'est juste une faute de
| > frappe lors de la saisie du post, non ?
| >
| > "3stone" a écrit dans le message de
| > news:
| >> Salut,
| >>
| >> "jourdelan"
| >> [...]
| >>> Me.skis enfants=Me.nb*Me;prix
| >>
| >>
| >> Me![skis enfants]
| >>
| >>
| >> un nom de champ ne peu avoir d'espace !
| >> si tout de même, entourez de crochet...
| >>
| >>
| >> --
| >> A+
| >> Pierre (3stone) Access MVP
| >> ~~~~~~~~~~~~~~~~~~~~~~~
| >> http://users.skynet.be/mpfa
| >> http://users.skynet.be/accesshome
|
|
Avatar
RaphK34
Pour ce qui est du Focus, on dit qu'un controle a le focus quand il est actif, donc lorsque l'on sort d'un ctl, celui ci perd son
focus.

je crainds que ton controle ne s'appelle pas SkisEnfants, en effet il serait plus logique qu'il s'appelle Montant ou quelque chose
du genre !


--
--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !

Pour un contact direct, utiliser:
en enlevant nospam.
--------------------------------------------

"RaphK34" a écrit dans le message de news:
| bsoir,
| j'ai l'impression que tu as un "=" en trop
|
| Me.SkisEnfants=Me.nb*Me.prix
|
| devrait fonctionner.
|
| Quand tu écris "me." il devrait te proposer entre autre la liste des champs de ton form, si ce n'est pas le cas c'est peut être
| qu'il y a un problème.
|
| --
| --------------------------------------------
| Merci de répondre sur le NG
| Toutes remarques bienvenues !
|
| Pour un contact direct, utiliser:
| en enlevant nospam.
| --------------------------------------------
|
| "jourdelan" a écrit dans le message de news:
||
|| oui c'était bien un faute de frappe
|| mais je n y arrive toujours pas alors ?
|| J'ai bien écrit la formule suivante dans
|| événement
|| dans : sur perte focus
|| =Me.[skisenfants]=Me.[nb]*Me.[prix]
|| alors ou est l'erreur ?
|| qu'appel t'on focus
|| je connaît ce terme en photographie qui veut dire ouverture mais là je ne
|| comprend pas?
|| Merci
|| Gafish wrote:
|| > et pour compléter la réponse de 3stone, pas de point virgule entre Me
|| > et prix mais un point, mais je pense que c'est juste une faute de
|| > frappe lors de la saisie du post, non ?
|| >
|| > "3stone" a écrit dans le message de
|| > news:
|| >> Salut,
|| >>
|| >> "jourdelan"
|| >> [...]
|| >>> Me.skis enfants=Me.nb*Me;prix
|| >>
|| >>
|| >> Me![skis enfants]
|| >>
|| >>
|| >> un nom de champ ne peu avoir d'espace !
|| >> si tout de même, entourez de crochet...
|| >>
|| >>
|| >> --
|| >> A+
|| >> Pierre (3stone) Access MVP
|| >> ~~~~~~~~~~~~~~~~~~~~~~~
|| >> http://users.skynet.be/mpfa
|| >> http://users.skynet.be/accesshome
||
||
|
|
Avatar
3stone
re,

"jourdelan"
J'ai bien écrit la formule suivante dans événement
dans : sur perte focus
=Me.[skisenfants]=Me.[nb]*Me.[prix]
alors ou est l'erreur ?



tu clique bien dans la ligne à coté de "Sur perte focus"
ou mieux, sur "Après mise à jour" ?
dans la liste, tu choisi "Procédure événementielle" ?
et ensuite sur les trois points à droite ?

tu te retrouve avec :

Private Sub TonChamp_LostFocus()

... ici tu mets le code

End Sub


Ton champ qui recoit le résultat, s'apelle [skis enfants] ou [skisenfant] ?


--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome

1 2