IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Faire une pause / odre de code


Sujet :

VBA Access

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2009
    Messages : 380
    Points : 134
    Points
    134
    Par défaut Faire une pause / odre de code
    Bonjour,

    J'ai un formulaire contenant un sous-formulaire.
    Dans le sous-formulaire, j'ai un champ1 contenant un montant
    Dans se même sous-formulaire, j'ai en pied de formulaire un champ SOMME de ce champ1

    J'ai dans le formulaire une zone texte, qui devrait afficher cette somme.

    J'utilise donc dans l'événement [Après mise à jour] du champ1 un code VBA qui devrait simplement copier la valeur du champ SOMME dans le champ2 et cela ne fonctionne pas...

    Quand j'utilise ce même code dans l'événement [souris déplacé], cela fonctionne très bien, mais bon le code se lance tout le temps, donc...

    J'ai donc plusieurs questions :
    1. Quel est l'ordre d'exécution des codes VBA, événements et le générateur d'expressions ?
    2. Est-il possible de mettre une temporisation avant le lancement du code pour peut-être laisser le temps au champ SOMME de se mettre à jour... ?


    J'ai l'impression que le code VBA passe avant les expressions... donc la copie se fait avant la SOMME

    J'ai trouvé ceci, mais cela ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Wait(Now + TimeValue("00:00:01"))

    Merci d'avance pour votre future aide :-)

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Bonjour,

    J'ai dans le formulaire une zone texte, qui devrait afficher cette somme.
    Une zone de texte indépendante ?
    Si oui alors il suffit de modifier la source du contrôle pour qu'il pointe vers le contrôle de somme du sous-formulaire.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut par function ça marche
    Bonjour, je passe par une fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Public Function Pause(PauseTime)
    Dim Start, Finish, totaltime
     
     
        Start = Timer    ' Définit l'heure de début.
        Do While Timer < Start + PauseTime
            DoEvents    ' Donne le contrôle à d'autres processus.
        Loop
     
     
     
    End Function
    dans mon code je met

  4. #4
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Citation Envoyé par ludovic.latu Voir le message
    Bonjour, je passe par une fonction
    On ne peut pas faire plus moche...
    Et rien ne garanti qu'une seconde suffit.
    Et que l'événement choisi couvre tous les cas (insertion, suppression?).

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2009
    Messages : 380
    Points : 134
    Points
    134
    Par défaut
    Malheureusement la zone de texte n'est pas indépendante, car oui comme ça, cela fonctionne très bien...

  6. #6
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    Alors il y a peut-être un problème de conception.
    Une somme peut-être rappelée pour information, mais on ne stocke pas une somme inutilement.

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2009
    Messages : 380
    Points : 134
    Points
    134
    Par défaut
    La somme fait partie d'un calcul plus complexe...

Discussions similaires

  1. [AC-2010] Faire une pause dans l'exécution d'un code VBA
    Par lololebricoleur dans le forum VBA Access
    Réponses: 1
    Dernier message: 21/03/2018, 18h18
  2. [console]Comment faire une pause?
    Par aminee009 dans le forum MFC
    Réponses: 5
    Dernier message: 20/10/2005, 10h33
  3. Faire une pause
    Par loutente dans le forum Access
    Réponses: 5
    Dernier message: 03/10/2005, 17h23
  4. Faire une pause dans le programme
    Par shinobi dans le forum Access
    Réponses: 6
    Dernier message: 13/06/2005, 16h37
  5. [MFC] Faire une pause dans un thread
    Par Kevgeii dans le forum MFC
    Réponses: 3
    Dernier message: 21/02/2005, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo