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 :

probleme boucle infinie


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 106
    Points : 56
    Points
    56
    Par défaut probleme boucle infinie
    Bonjour,
    j'ai ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Do Until rsverifnbmp.EOF
        MsgBox ("salut2")
            nb = rsverifnbmp.Fields("nbmp").Value
            nom = rsverifnbmp.Fields("NomMP").Value
            MsgBox (nom & ", " & nb)
            Dim stock As String
            Dim rsstock As DAO.Recordset
            Dim entree
            Dim datem
            Dim Etat2
            Dim besoin
     
            stock = "SELECT NomMP, QteEntree, Etat, DateMouvement, BesoinCde "
            stock = stock & " FROM StockMP WHERE NomMP='" & nom & "' and QteEntree >0 or BesoinCde>0"
            Set rsstock = CurrentDb.OpenRecordset(stock)
            rsstock.MoveFirst
            Do Until rsstock.EOF
                'If (nb >= 2) Then
                    If (IsNull(rsstock.Fields("QteEntree").Value) And (nb >= 2)) Then
     
                        besoin = rsstock.Fields("BesoinCde").Value
                        Etat2 = rsstock.Fields("Etat").Value
                        datem = rsstock.Fields("DateMouvement").Value
                        MsgBox (Etat2 & ", " & datem & ", " & besoin)
     
                        Me.BesoinCde = besoin
                        Me.Etat = Etat2
                        Me.DateMouvement = datem
     
                    ElseIf (IsNull(rsstock.Fields("BesoinCde").Value) And (nb >= 2)) Then
     
                        entree = rsstock.Fields("QteEntree").Value
                        Etat2 = rsstock.Fields("Etat").Value
                        datem = rsstock.Fields("DateMouvement").Value
                        MsgBox (Etat2 & ", " & datem & ", " & entree)
     
                        Me.DateMouvement = datem
                        Me.Etat = Etat2
                        Me.QteEntree = entree
     
                    End If
                    MsgBox ("salut3")
                'End If
                rsstock.MoveNext
            Loop
            rsverifnbmp.MoveNext
        Loop
    mais ca fonctionne pas. le nb>=2 ne semble pas interprete, ce qui me donne une boucle infinie.
    Je ne sais pas d'où vient le probleme.
    Merci de votre aide

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,

    en vitesse car je n'ai quasi pas regardé.

    1) NB>=2 n'a rien a voir avec ta boucle infinie car il ne conditionne pas la boucle mais 1 IF.

    2) tes DO until ne me plaisent pas. Le DO until effectue au moins 1 fois la boucle, même si la condition n'est pas remplie, contrairement au Do While qui ne rentre pas dans la boucle si la condition n'est pas remplie (attention la condition doit être inversée entre le While et le until).

    Moi je mettrais While et si porblème persiste, vive le debug.

    3) il te manque le close pour rsstock et le set = nothing.

    Voilà quelques pistes.


Discussions similaires

  1. probleme boucle infini dans tableau
    Par Invité dans le forum C++
    Réponses: 8
    Dernier message: 30/01/2011, 21h17
  2. Diminuer la taille d'un code et probleme boucle infini
    Par Alucard9800XT dans le forum MATLAB
    Réponses: 3
    Dernier message: 11/06/2007, 11h42
  3. Probleme de boucle infini
    Par Premium dans le forum C++
    Réponses: 4
    Dernier message: 29/03/2007, 22h10
  4. probleme de gestion de boucle infinie
    Par masterix59 dans le forum C
    Réponses: 8
    Dernier message: 27/12/2006, 16h34
  5. Probleme Boucle infinie Recordset.movenext "muet"?
    Par shub dans le forum VBA Access
    Réponses: 7
    Dernier message: 14/06/2006, 13h22

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