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 :

[VBA]Boucle While/Wend interrompue


Sujet :

VBA Access

  1. #1
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut [VBA]Boucle While/Wend interrompue
    Bonjour,

    J'ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Set db = CurrentDb()
    Set rst = db.OpenRecordset("rqtSceGroupScol", dbOpenDynaset)
    rst.MoveFirst
    While Not rst.EOF
          MsgBox rst("num_eleve")
          rst.MoveNext
    Wend
    qui fonctionne...tous les numéros s'affichent jusqu'à la fin du recordset.

    Je veux ajouter une instruction (en rouge) comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set db = CurrentDb()
    Set rst = db.OpenRecordset("rqtSceGroupScol", dbOpenDynaset)
        
    rst.MoveFirst
    While Not rst.EOF
        MsgBox rst("num_eleve")
            DoCmd.OpenReport "RepDossiers", acViewNormal, , "[num_eleve] = " & rst("num_eleve")
        rst.MoveNext
    Wend
    et je ne parviens à imprimer que le premier enregistrement du Recordset...

    Je souhaiterais comprendre pourquoi.
    Merci pour votre aide

    SE

  2. #2
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    Désolé mais j'ai repris ton code et chez moi ca marche... tous les états sont bien envoyés a l'impression.

    j'ai remplacer par des noms différents mais c'est le meme code...
    donc tu dois avoir un problème sur ton état: il doit etre limité.

    regarde du cote de la source et du filtre de l'état
    dans tous les cas tu ne devrais pas avoir qu'une seul impression (ni qu'une seul boite de message).

  3. #3
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    Citation Envoyé par stéphane_ais2
    et je ne parviens à imprimer que le premier enregistrement du Recordset...
    Quel comportement obtiens-tu?

  4. #4
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Merci pour vos réponses...

    Vodiem, je ne suis pas surpris par ta réponse puisque même si je ne l'ai pas précisé dans mon message initial, ce code (le deuxième) a fonctionné mais ne fonctionne plus...sans que les propriétés de l'état n'aient été modifiées...

    Mout1234, lorsque je place un point d'arrêt dans le code, le code s'arrête après l'impression du premier enregistrement du recordset sans lever aucune erreur...

    SE

  5. #5
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    En pas à pas, avant et aprés l'execution du report, regardes que vaut rst.EOF, rst.recordCount....

  6. #6
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Citation Envoyé par mout1234
    En pas à pas, avant et aprés l'execution du report, regardes que vaut rst.EOF, rst.recordCount....
    J'ai déjà testé et c'est bon : EOF renvoie False et Recordcount renvoie la valeur correspondant au nombre d'enregistrements de manière cohérente...

    Je vais maintenant regarder du côté de l'état...merci pour votre aide

    SE

  7. #7
    Membre éclairé Avatar de stéphane_ais2
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 792
    Points : 891
    Points
    891
    Par défaut
    Il y avait bien un événement sur Report_Close qui plaçait la propriété 'Visible' d'un formulaire à True alors que la procédure de boucle qui posait problème était initiée d'un autre frm...j'ai ajusté en ajoutant un contrôle d'ouverture et à priori la boucle fonctionne...

    Je suis désolé de la perte de temps occasionnée mais aucune erreur n'étant renvoyée, j'ai omis de vérifier sur l'état...
    Merci pour votre aide qui m'a permis de ne pas rester 'collé' au code de la boucle...(sic)

    SE

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Boucle While .. Wend sur un recordset qui ne s'execute pas
    Par mamadouabd dans le forum VBA Access
    Réponses: 6
    Dernier message: 24/11/2009, 20h00
  2. [AC-2000] Sortir d'une boucle while wend
    Par 973thom dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/09/2009, 10h14
  3. chargement du Combo Par sql boucle While wend
    Par r.mehdi dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 09/06/2008, 18h16
  4. Boucle While .. Wend
    Par petibonohm dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 21/02/2008, 16h19
  5. Recordset et boucle While...Wend
    Par sbeprod dans le forum Access
    Réponses: 9
    Dernier message: 24/07/2006, 16h48

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