Formulaire et sous formulaire avec fonctionnement étrange

Fermé
tartopum35 Messages postés 2 Date d'inscription mardi 7 décembre 2021 Statut Membre Dernière intervention 26 juin 2023 - Modifié le 26 juin 2023 à 14:28
yg_be Messages postés 23417 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 janvier 2025 - 1 juil. 2023 à 15:25

Bonjour,

J'ai un formulaire de commandes et un SF lignes de commandes.

Je saisis mes data dans le Père  (Commandes) et ensuite je vais dans le SF pour saisir chaque ligne de la commande.

Mon SF est un Formulaire continu. Chaque fois que je saisis une ligne ds le SF, j'ai bien le sélecteur qui affiche un crayon et pour sauver mon  record, je clique par exemple sur une autre ligne et le crayon disparait. tout est OK.

Mon Pb est que dans le After Update du père, j''ai  ajouté le code suivant :

Me.Form![SF_Lignes_Commande]![Montant].Value = Me.Montant

Le montant de la commande s'affiche bien dans la première ligne du SF, c’est parfait , mais dès que je veux compléter ma ligne dan le SF, je clique sur le champ que je veux modifier

=> il passe aussitôt dans le before Update du SF.( alors qu'il n'y passe que quand cliques hors de le ligne  dans le cas ou je j'exécute pas ma ligne de code.)

Qui à une explication ?

Merci de votre aide ?.

A voir également:

1 réponse

yg_be Messages postés 23417 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 5 janvier 2025 Ambassadeur 1 557
1 juil. 2023 à 15:25

bonjour,

C'est quoi, le contrôle Montant dans le SF?

Je devine que tu es dans la situation décrite ainsi par Microsoft, à propos de BeforeUpdate:

Modification des données dans un contrôle à l'aide de Visual Basic. Toutefois, si vous déplacez vers un autre enregistrement ou enregistrez l'enregistrement, l'événement BeforeUpdate du formulaire se produit.

Comme tu modifies le SF via du VBA, l'évenement BeforUpdate du SF déclenche tardivement, au moment où tu te déplaces vers un autre enregistrement, au moment où tu cliques sur le champ que tu veux modifier.

0