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

forcer l'enregistrement d'1 champ calculé

5 réponses
Avatar
lina
Bonjour


je souhaiterais forcer l'enregistrement d'un champ=20
calcul=E9. Je sais que ce n'est pas tr=E8s recommand=E9, mais vu=20
que j'ai besoin de cette info pour des =E9tats, je pense que=20
c le plus simple ?

j'ai essay=E9 le code suivant dans l'=E9v=E8nement Avant MAJ, et=20
Sur Fermeture de mon form :=20

Me![nomdemonchampdanslatable]=3DMe!
[nomduchampcacul=E9dansleform]


mais mon champ de table reste vide.
Les 2 champs sont au format "Heure, abr=E9g=E9". C donc le=20
m=EAme format, il ne devrait pas y avoir de probl=E8me =E0 ce=20
niveau l=E0.

quelqu'un sait-il o=F9 est mon erreur ?

5 réponses

Avatar
Raymond [mvp]
Bonjour.

quand tu dis avant maj c'est bien dans Form_BeforeUpdate ?
sur la fermeture c'est trop tard.
la syntaxe est bonne.
es-tu sûr que l'enregistrement est modifié ? car sinon tu ne passes pas
dessus.
mets un point d'arrêt sur les lignes et vérifies les valeurs affichées.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"lina" a écrit dans le message de
news:1e22601c4550a$4bbf5200$
Bonjour


je souhaiterais forcer l'enregistrement d'un champ
calculé. Je sais que ce n'est pas très recommandé, mais vu
que j'ai besoin de cette info pour des états, je pense que
c le plus simple ?

j'ai essayé le code suivant dans l'évènement Avant MAJ, et
Sur Fermeture de mon form :

Me![nomdemonchampdanslatable]=Me!
[nomduchampcaculédansleform]


mais mon champ de table reste vide.
Les 2 champs sont au format "Heure, abrégé". C donc le
même format, il ne devrait pas y avoir de problème à ce
niveau là.

quelqu'un sait-il où est mon erreur ?
Avatar
EVA
Bonjour,

Il faut vérifier si les evenements sont biens activés (ie
si le code est execute)

Si Avant mise a jour est celui du champ de la table il ne
devrait pas etre déclenché, si c'est celui du champ
calculé, qui le calcule ou le recalcule et c'est à partir
de la qu'il faut mettre la mise a jour du champ de la
table au moins il y aura la meme valeur. S'il provient de
la requete, il faut trouver un evenement qui permet de
declencher la mise a jour dans la table sinon il n'y aura
pas de mise a jour.

Il se peut aussi que l'enregistrement soit verrouillé par
un autre formulaire et que cela empeche la mise a jour de
la table.

Au pire pour voir, il faut faire une requete de mise a
jour du champ :

update lechampdelatable from ..... where (Numindex =
celui actif dans la fenetre)

et voir si une alerte de verrou ou autre est donnée

Bon courage.

EVA
(je suis rarement sur les newsgroups, alors thanks to use
the mail)
-----Message d'origine-----
Bonjour


je souhaiterais forcer l'enregistrement d'un champ
calculé. Je sais que ce n'est pas très recommandé, mais
vu

que j'ai besoin de cette info pour des états, je pense
que

c le plus simple ?

j'ai essayé le code suivant dans l'évènement Avant MAJ,
et

Sur Fermeture de mon form :

Me![nomdemonchampdanslatable]=Me!
[nomduchampcaculédansleform]


mais mon champ de table reste vide.
Les 2 champs sont au format "Heure, abrégé". C donc le
même format, il ne devrait pas y avoir de problème à ce
niveau là.

quelqu'un sait-il où est mon erreur ?
.



Avatar
lina
bonjour et merci à tout les 2 de m'avoir répondu ...


mais je ne suis pas très douée en Vb etc ... donc je
crains de ne pas trop comprendre !!


je mets bien le code sur l'évènement Avant MAJ de mon sous-
formulaire.

es-tu sûr que l'enregistrement est modifié ? car sinon
tu ne passes pas




dessus.
--> je ne comprends pas ce que ça veut dire ? en fait mon

form permet d'enregistrer le temps passé par salarié à
effectuer une tâche X ou Y. donc du moment qu'on
enregistre une durée, l'enregsitrement est modifié, c ça ?


mets un point d'arrêt sur les lignes et vérifies les
valeurs affichées.




--> comment on met un point d'arrêt ? ça sert à quoi ?


je suis désolée de vous embêter avec mes questions
stupides ...


-----Message d'origine-----
Bonjour.

quand tu dis avant maj c'est bien dans Form_BeforeUpdate ?
sur la fermeture c'est trop tard.
la syntaxe est bonne.
es-tu sûr que l'enregistrement est modifié ? car sinon tu
ne passes pas

dessus.
mets un point d'arrêt sur les lignes et vérifies les
valeurs affichées.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"lina" a écrit dans
le message de

news:1e22601c4550a$4bbf5200$
Bonjour


je souhaiterais forcer l'enregistrement d'un champ
calculé. Je sais que ce n'est pas très recommandé, mais vu
que j'ai besoin de cette info pour des états, je pense que
c le plus simple ?

j'ai essayé le code suivant dans l'évènement Avant MAJ, et
Sur Fermeture de mon form :

Me![nomdemonchampdanslatable]=Me!
[nomduchampcaculédansleform]


mais mon champ de table reste vide.
Les 2 champs sont au format "Heure, abrégé". C donc le
même format, il ne devrait pas y avoir de problème à ce
niveau là.

quelqu'un sait-il où est mon erreur ?


.






Avatar
Raymond [mvp]
pas facile à expliquer ici.

si tu n'y arrives pas, passe moi ton formulaire avec tables et requêtes dans
un fichier zip (obligatoire) et tu enlève XYZ. dans mon adresse.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"lina" a écrit dans le message de
news:1e51201c45540$63f31740$
bonjour et merci à tout les 2 de m'avoir répondu ...


mais je ne suis pas très douée en Vb etc ... donc je
crains de ne pas trop comprendre !!


je mets bien le code sur l'évènement Avant MAJ de mon sous-
formulaire.

es-tu sûr que l'enregistrement est modifié ? car sinon
tu ne passes pas




dessus.
--> je ne comprends pas ce que ça veut dire ? en fait mon

form permet d'enregistrer le temps passé par salarié à
effectuer une tâche X ou Y. donc du moment qu'on
enregistre une durée, l'enregsitrement est modifié, c ça ?


mets un point d'arrêt sur les lignes et vérifies les
valeurs affichées.




--> comment on met un point d'arrêt ? ça sert à quoi ?


je suis désolée de vous embêter avec mes questions
stupides ...




Avatar
lina
re-bonjour Raymond.

milles mercis de ta proposition, c'est vraiment super
sympa, mais je crois avoir trouvé la solution. en fait mon
champ calculé se mets à jour quand je passe à
l'enregistrement suivant. donc j'ai inséré le code dans
l'evènement 'Sur perte de focus" de mon champ calculé, et
d'après 2/3 essais ça à l'air de fonctionner, mon champ de
table se remplie.

merci beaucoup quand même d'avoir pris le temps de me
répondre et d'essayer de m'aider.

sur ce , je file en w-end ... bon w-end à toi !

-----Message d'origine-----
pas facile à expliquer ici.

si tu n'y arrives pas, passe moi ton formulaire avec
tables et requêtes dans

un fichier zip (obligatoire) et tu enlève XYZ. dans mon
adresse.


--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"lina" a écrit dans
le message de

news:1e51201c45540$63f31740$
bonjour et merci à tout les 2 de m'avoir répondu ...


mais je ne suis pas très douée en Vb etc ... donc je
crains de ne pas trop comprendre !!


je mets bien le code sur l'évènement Avant MAJ de mon
sous-

formulaire.

es-tu sûr que l'enregistrement est modifié ? car sinon
tu ne passes pas




dessus.
--> je ne comprends pas ce que ça veut dire ? en fait mon

form permet d'enregistrer le temps passé par salarié à
effectuer une tâche X ou Y. donc du moment qu'on
enregistre une durée, l'enregsitrement est modifié, c ça ?


mets un point d'arrêt sur les lignes et vérifies les
valeurs affichées.




--> comment on met un point d'arrêt ? ça sert à quoi ?


je suis désolée de vous embêter avec mes questions
stupides ...



.