Access - Attendre le Refresh du form avant de continuer l'exécution

Résolu
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 - 27 juin 2008 à 14:53
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 - 30 juin 2008 à 10:04
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
A voir également:

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 juin 2008 à 18:29
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)
3
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
30 juin 2008 à 10:04
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
0
Rejoignez-nous