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 :

Boucle imbriquée impossible ? [AC-2016]


Sujet :

VBA Access

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 092
    Points : 268
    Points
    268
    Par défaut Boucle imbriquée impossible ?
    Bonjour à tous

    Je n'arrive pas à ce que la boucle imbriquée dans ce code se ré-exécute autant de fois que de quantité de "i" il y a ...

    La première boucle (qui lit un tableau) s’exécute parfaitement et remplit bien les données dans la table, autant de fois que nécessaire

    La deuxième (imbriquée) ne fait son travail qu'une fois correctement et ne réitère pas ensuite le reste du remplissage de table malgré le "Next i" de la première ...

    Cela aurait il un rapport avec la recherche de l'ID d'enregistrement représentée par la variable "idParcelleactive" ?

    Que suis-je entrain d'oublier ?

    Merci d'avance pour vos suggestions

    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
    48
    49
    50
    51
    Dim tblParcelles() As String
        Dim grpParcelles As String
        Dim idParcelleActive As Long
     
        Dim rs As DAO.Recordset
        Dim rs2 As DAO.Recordset
        Dim rs3 As DAO.Recordset
     
     
        Set rs = CurrentDb.OpenRecordset("tmpparcelles")
        Set rs2 = CurrentDb.OpenRecordset("tmpproprietaires")
        Set rs3 = CurrentDb.OpenRecordset("tmpproprietairescommuns")
     
        Dim i As Integer
     
     
        tblParcelles() = Split(Me.txtGrpParcelles.Value, ",")
     
        For i = LBound(tblParcelles) To UBound(tblParcelles)
        grpParcelles = grpParcelles & vbCrLf & i + 1 & " - " & Me.txtsection.Value & "-" & tblParcelles(i) & " à " & Me.cboCommune.Column(1)
     
         'Remplissage table temporaire parcelles
     
        On Error GoTo err
     
        rs.AddNew
        rs!SectionParcelle = Me.txtsection
        rs!AdresseParcelle = Me.CboLieuDit
        rs!NumParcelle = tblParcelles(i)
        rs!Commune = Me.cboCommune
        rs!CodeExploitant = Me.CboExploitant
     
        'Recherche de l'id de la parcelle en création
         idParcelleActive = rs.Fields("idparcelle").Value
        rs.Update
     
        'Remplissage table temporaire proprietaires
             Do While Not rs3.EOF
        Debug.Print idParcelleActive
     
            rs2.AddNew
            rs2!IdParcelle = idParcelleActive
            rs2!Propriétaire = rs3!Propriétaire
            rs2!TypePropriete = rs3!TypePropriete
            rs2.Update
     
        'idParcelleActive = ""
        rs3.MoveNext
        Loop
     
         Next i

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    bonjour.

    C'est normal puisque tu ne ramenes jamais RS3 au debut.

    il suffit d'ajouter

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if rs3.recordcount<>0 then
       rs3.movefirst
    end if
    avant le do / loop.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 092
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 092
    Points : 268
    Points
    268
    Par défaut
    Ahhhh tu me sauves la vie !!!

    Encore une faute d'inattention !

    Bonne continuation

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

Discussions similaires

  1. [Smarty] boucles imbriquées avec requêtes SQL, impossible à comprendre
    Par dexxter dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 18/05/2007, 23h52
  2. [Débutant]Boucle imbriquée avec des bornes différentes
    Par Hayato dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 29/08/2005, 16h23
  3. Réponses: 4
    Dernier message: 04/08/2005, 08h23
  4. Boucles imbriquées
    Par Immobilis dans le forum ASP
    Réponses: 28
    Dernier message: 14/01/2005, 13h17
  5. [XSL]boucle imbriquée avec condition
    Par kor dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 11/01/2005, 14h19

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