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

Access Discussion :

problème de syntaxe dans des boucles imbriquées


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Points : 34
    Points
    34
    Par défaut problème de syntaxe dans des boucles imbriquées
    bonjour à tous,
    Je vais essayer de vous expliquer le contexte mais ca va être compliqué :
    j'ai une table TOperation contenant un numéro d'opération NumOperation, une table TStagiaires contenant les champs NumOperation, NbStagiaires et NomStagiaire1 à 20. Enfin j'ai une table TAttestation avec un NumAttestation, un NumOperation et un NomStagiaire à laquelle je souhaite ajouter des enregistrements.
    Mon but est le suivant : ajouter à la table TAttestation un enregistrement par stagiaire (pour completer d'autres champs après).
    j'ai créé un code qui me parrait juste mais j'ai juste un problème de syntaxe :

    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
    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim sSQL As String
    Dim rst2 As DAO.Recordset
    Dim sSQL2 As String
    Dim sSQL3 As String
    Dim rst3 As DAO.Recordset
    Dim v1 As String
    Dim v2 As String
    v2 = 1
    v1 = "non"
    Set db = CurrentDb
    sSQL = "select * from TOperation"
    Set rst = db.OpenRecordset(sSQL)
    sSQL2 = "select * from TAttestation"
    Set rst2 = db.OpenRecordset(sSQL2)
    rst.MoveFirst
    rst2.MoveFirst
    While Not rst.EOF
        While Not rst2.EOF
        If v1 = "non" Then
            If rst!NumOperation = rst2!NumOperation Then
            v1 = "oui"
            Else
            End If
        Else
        End If
        rst2.MoveNext
        Wend
    If v1 = "oui" Then
    Else
    While rst!NbStagiaires <> 0
    rst2.AddNew
    sSQL3 = "select * from TStagiaires where NumOperation =" & rst!NumOperation
    Set rst3 = db.OpenRecordset(sSQL3)
    rst2!NumAttestation = DMax("[NumAttestation]", "TAttestation") + 1
    rst2!NumOperation = rst!NumOperation
    rst2!NomStagiaire = rst3!["NomStagiaire" & v2]
    v2 = v2 + 1
    rst!Nbstagiaire = rst!Nbstagiaire - 1
    Wend
    v2 = 1
    v1 = "non"
    End If
    Wend
    Mon erreur se situe sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rst2!NomStagiaire = rst3!["NomStagiaire" & v2]
    j'ai essayé plusieurs trucs mais je n'est pas trouvé la syntaxe, peut être es impossible de concaténer de cette manière ?

    J'espere que quelqu'un pourra m'aider

    Merci

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour,

    Je n'ai pas lu tout ton code, mais pour faire
    rst2!NomStagiaire = rst3!["NomStagiaire" & v2]
    tu pourrais plutôt écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rst2!NomStagiaire = rst3.Fields("NomStagiaire" & v2).Value
    Bon courage,

    PGZ

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2005
    Messages : 54
    Points : 34
    Points
    34
    Par défaut
    Formidable! ca fonctionne.
    J'avais quelque bugs dans mon code après ca mais y'avais pas trop de modifs à faire.
    Je te remerci bien pgz

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

Discussions similaires

  1. [Toutes versions] Problème de syntaxe dans requêtes imbriquées
    Par BornToBe dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 25/04/2012, 17h31
  2. Problème de syntaxe dans une boucle
    Par Akim13 dans le forum Langage
    Réponses: 3
    Dernier message: 13/11/2011, 15h38
  3. [XL-2003] Positionnement de plusieurs If dans des boucles imbriquées
    Par kokoVBA dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 30/07/2009, 15h41
  4. Problème de logique dans des boucles "If"
    Par bilou95 dans le forum Langage
    Réponses: 3
    Dernier message: 16/10/2007, 11h05
  5. Problème avec TNMSMTP dans une boucle.
    Par Orgied dans le forum Web & réseau
    Réponses: 3
    Dernier message: 07/04/2004, 10h19

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