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

Contrôle indépendant...récupérer sa valeur ?

5 réponses
Avatar
Butch
Bonjour,

Dans un formulaire, j'ai un contrôle indépendant effectuant un calcul simple
entre les données inscrites dans 2 autres champs qui, eux, proviennent d'une
table à partir de laquelle le formulaire a été créé. En détails:
Champ1 = Heure d'entrée
Champ2 = Heure de départ
* Ces 2 champs du formulaire proviennent de la table sous-jacente.

Le contrôle indépendant calcule simplement le nombre d'heures et de minutes
écoulées entre les Champ2 et Champ1.

Question : Est-il possible de récupérer la valeur (le résultat du calcul)
du contrôle indépendant qui calcule les heures et minutes écoulées et de
stocker cette valeur dans un "nouveau" champ de la table sous-jacente au
formulaire soit, celle qui contient déjà les Champ1 et Champ2 ?

Merci à qui peut m'indiquer une source d'information ou me m'expliquer la
procédure.
Butch

5 réponses

Avatar
Jessy Sempere [MVP]
Bonjour

Tu mets ton champ dans ta table
ensuite tu modifies ton contrôle indépendant en lui mettant comme source
de donnée le nouveau champ de la table.

Et pour le mettre à jour, tu mets sur l'évènement après mise à jour
des autres champs,
me.TonNouveauChamp = Champ2-Champ1

--
@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Butch" a écrit dans le message de
news:ubP4f.19748$
Bonjour,

Dans un formulaire, j'ai un contrôle indépendant effectuant un calcul
simple

entre les données inscrites dans 2 autres champs qui, eux, proviennent
d'une

table à partir de laquelle le formulaire a été créé. En détails:
Champ1 = Heure d'entrée
Champ2 = Heure de départ
* Ces 2 champs du formulaire proviennent de la table sous-jacente.

Le contrôle indépendant calcule simplement le nombre d'heures et de
minutes

écoulées entre les Champ2 et Champ1.

Question : Est-il possible de récupérer la valeur (le résultat du calcul)
du contrôle indépendant qui calcule les heures et minutes écoulées et de
stocker cette valeur dans un "nouveau" champ de la table sous-jacente au
formulaire soit, celle qui contient déjà les Champ1 et Champ2 ?

Merci à qui peut m'indiquer une source d'information ou me m'expliquer la
procédure.
Butch




Avatar
Butch
Bonjour Jessy,

Merci pour les infos... mais, y'a sûrement quelque chose que je ne fais pas
correctement :-(( !

Voici ci-dessous, ce que j'ai compris (ou crois avoir compris..) de ton
information et ce que j'ai fait :

1) Dans la table sous-jacente au formulaire j'ai ajouté le champ
TotalHeures.
2) Dans le formulaire, dans la propriété "Source contrôle" de mon contrôle
indépendant, j'ai choisi (dans les options) le champ TotalHeures (soit le
nouveau ajouté auparavant dans la table).
3) Dans le Champ1 et le Champ2, dans la propriété "Après mise à jour" de
chacun, j'ai ajouté le code suggéré soit:
me.TotalHeures=Champ2-Champ1. J'ai aussi essayé une syntaxe différente
pour ce code soit : me.TotalHeures=[Champ2]-[Champ1].

C'est, je crois, là que je me suis "planté" (et peut-être ailleurs aussi )!
Donc, dès que j'inscris des données (heures et minutes) dans le Champ1 ou le
Champ2, Access m'affiche un message me disant qu'il ne peut pas trouver la
macro "me."...bla-bla-bla.

Suite aux exemples ci-dessus (1-2-3) peux-tu m'indiquer ce qui ne va pas ?

Encore merci,
Butch

"Jessy Sempere [MVP]" a écrit dans le message de
news: 4353c147$
Tu mets ton champ dans ta table
ensuite tu modifies ton contrôle indépendant en lui mettant comme source
donnée le nouveau champ de la table.

Et pour le mettre à jour, tu mets sur l'évènement après mise à jour
des autres champs,
me.TonNouveauChamp = Champ2-Champ1


Avatar
Hervé DUCARNE
Bonjour,

A mon avis, tu as bien compris, mais vérifie que le *nom* (pas que la
source) de ton controle indépendant (qui ne l'est plus) est bien
totalheures.
Aussi, essaie avec me!totalheures=champ2-champ1 au lieu de
me.totalheures=champ1-champ2

Là ça doit fonctionner...


"Butch" a écrit dans le message de
news:YpZ4f.13835$
Bonjour Jessy,

Merci pour les infos... mais, y'a sûrement quelque chose que je ne fais
pas

correctement :-(( !

Voici ci-dessous, ce que j'ai compris (ou crois avoir compris..) de ton
information et ce que j'ai fait :

1) Dans la table sous-jacente au formulaire j'ai ajouté le champ
TotalHeures.
2) Dans le formulaire, dans la propriété "Source contrôle" de mon
contrôle

indépendant, j'ai choisi (dans les options) le champ TotalHeures (soit le
nouveau ajouté auparavant dans la table).
3) Dans le Champ1 et le Champ2, dans la propriété "Après mise à jour" de
chacun, j'ai ajouté le code suggéré soit:
me.TotalHeures=Champ2-Champ1. J'ai aussi essayé une syntaxe
différente

pour ce code soit : me.TotalHeures=[Champ2]-[Champ1].

C'est, je crois, là que je me suis "planté" (et peut-être ailleurs
aussi )!

Donc, dès que j'inscris des données (heures et minutes) dans le Champ1 ou
le

Champ2, Access m'affiche un message me disant qu'il ne peut pas trouver la
macro "me."...bla-bla-bla.

Suite aux exemples ci-dessus (1-2-3) peux-tu m'indiquer ce qui ne va pas ?

Encore merci,
Butch

"Jessy Sempere [MVP]" a écrit dans le message
de

news: 4353c147$
Tu mets ton champ dans ta table
ensuite tu modifies ton contrôle indépendant en lui mettant comme source
donnée le nouveau champ de la table.

Et pour le mettre à jour, tu mets sur l'évènement après mise à jour
des autres champs,
me.TonNouveauChamp = Champ2-Champ1






Avatar
Jessy Sempere [MVP]
Bonjour

Tu dois sur aller sur propriété "sur après mise à jour" de chacun de
ces 2 champs, là tu sélectionne "Procédure événementielle"

Après tu vas atterrir dans le code, c'est là que tu mets :
me.TotalHeures = me.Champ1-Me.Champ2

@+
Jessy Sempere - Access MVP

------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"Hervé DUCARNE" a écrit dans le message de
news:umSI%
Bonjour,

A mon avis, tu as bien compris, mais vérifie que le *nom* (pas que la
source) de ton controle indépendant (qui ne l'est plus) est bien
totalheures.
Aussi, essaie avec me!totalheures=champ2-champ1 au lieu de
me.totalheures=champ1-champ2

Là ça doit fonctionner...


"Butch" a écrit dans le message de
news:YpZ4f.13835$
Bonjour Jessy,

Merci pour les infos... mais, y'a sûrement quelque chose que je ne fais
pas

correctement :-(( !

Voici ci-dessous, ce que j'ai compris (ou crois avoir compris..) de ton
information et ce que j'ai fait :

1) Dans la table sous-jacente au formulaire j'ai ajouté le champ
TotalHeures.
2) Dans le formulaire, dans la propriété "Source contrôle" de mon
contrôle

indépendant, j'ai choisi (dans les options) le champ TotalHeures (soit
le


nouveau ajouté auparavant dans la table).
3) Dans le Champ1 et le Champ2, dans la propriété "Après mise à jour" de
chacun, j'ai ajouté le code suggéré soit:
me.TotalHeures=Champ2-Champ1. J'ai aussi essayé une syntaxe
différente

pour ce code soit : me.TotalHeures=[Champ2]-[Champ1].

C'est, je crois, là que je me suis "planté" (et peut-être ailleurs
aussi )!

Donc, dès que j'inscris des données (heures et minutes) dans le Champ1
ou


le
Champ2, Access m'affiche un message me disant qu'il ne peut pas trouver
la


macro "me."...bla-bla-bla.

Suite aux exemples ci-dessus (1-2-3) peux-tu m'indiquer ce qui ne va pas
?



Encore merci,
Butch

"Jessy Sempere [MVP]" a écrit dans le
message


de
news: 4353c147$
Tu mets ton champ dans ta table
ensuite tu modifies ton contrôle indépendant en lui mettant comme
source



donnée le nouveau champ de la table.

Et pour le mettre à jour, tu mets sur l'évènement après mise à jour
des autres champs,
me.TonNouveauChamp = Champ2-Champ1










Avatar
Butch
Bonjour Jessy et Hervé,

Merci beaucoup pour vos précisions. Le code suivant placé dans chacun des 2
champs :

Private Sub Arrivée_AfterUpdate()
Me.THeures = (Me.Départ - Me.Arrivée) * 24
End Sub

... donne les résultats recherchés.

Merci encore,
Butch