Access - Attendre le Refresh du form avant de continuer l'exécution [Résolu]

Signaler
Messages postés
443
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
-
Messages postés
443
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
-
Bonjour,
Cela fait 12 ans que je n'ai plus programmé VBA avec Access et j'ai pas mal de soucis
Le plus problématique est le suivant

Je gére des % dans un champ "Mat_Percentage" et le % cumulé dans un autre "Mat_CumPercentage"
Sur perte focus du champ "Mat_Percentage" , je vérifie que le champ "Mat_CumPercentage n'excède pas 100
Pour ce faire j'utilise le code ci-dessous

Private Sub ComponentQty_EntryField_LostFocus()
  Me.Refresh ' Actualise le form
  CheckCumulativePercentage   ' Vérifie le % cumulé ... Initialise à True la var ErrorUnderControl  si > 100
  If ErrorUnderControl = True Then   ' Si >100
    '
  End If
End Sub

Le problème c'est que l'actualisation du champ "Mat_CumPercentage" ne se fait qu'après l'affichage du message si >100
J'ai essayé avec une boucle For Next pour laisser le temps de mise à jour mais ça ne change rien

Merci de votre aide
Cliquer "Réponse Acceptée"
Partageons Notre Savoir & Nos Acquis - JML

2 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
68
Salut
C'est surement parce que le programme occupe tout le temps CPU.
Ajoute des  DoEvents  deci-delà, ça donnera le temps à la machine de gérer son graphisme

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
443
Date d'inscription
mardi 27 mars 2007
Statut
Membre
Dernière intervention
1 mars 2011
2
Salut,
En fait il ne s'agit pas d'un problème de refresh d'écran mais de refresh de calcul dans une zone
J'ai essayé avec .Requery mais rien de nouveau
Finalement j'ai changé le controle de place en le mettant au niveau du formulaire principal "sur changement d'enregistrement ... Et ça fonctionne correctement
J'accepte ta réponse pour fermer le point
Merci et bonne journée
Cliquer "Réponse Acceptée"
Partageons Notre Savoir & Nos Acquis
- JML