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 :

Tableau word à partir d'une requête [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Inscrit en
    Février 2011
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 263
    Points : 100
    Points
    100
    Par défaut Tableau word à partir d'une requête
    Bonjour,

    Je vais essayer d'être le plus clair possible.

    Soit un requête access qui me permet de savoir quelle entreprise a répondu à quel appel d'offres.
    Chaque entreprise qui répond à un numéro d'arrivée. Ce numéro peut ne pas être continu (ex. 2,4,5,6,8).

    A partir d'un code vba, je génère un tableau qui comprend autant de lignes qu'il y a d'entreprises. Ce code fonctionne très bien.

    Le problème porte sur le code qui remplit le(s) tableau(x). Je voudrais que pour chaque nouvelle ligne du tableau, il passe à l'enregistrement suivant. Vous me suivez ?

    Voici le 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
    For nbLot = 1 To nbLot - 1
            For nbLigLot = 1 To nbLigLot + 1
                'sqlCandidat = "SELECT Tbl_Registre_Depot.Numero_Depot, Tbl_Entreprise2.Denomination_Entreprise, Tbl_Entreprise2.Adresse_Entreprise, Tbl_Entreprise2.Code_Postal_Entreprise, Tbl_Entreprise2.Ville_Entreprise, Tbl_Registre_Depot.ID_Marche, Tbl_Registre_Depot.ID_Entreprise, Tbl_Registre_Depot.Lot_Depot FROM Tbl_Entreprise2 INNER JOIN Tbl_Registre_Depot ON Tbl_Entreprise2.ID_Entreprise = Tbl_Registre_Depot.ID_Entreprise WHERE Tbl_Registre_Depot.ID_Marche=34 AND Tbl_Registre_Depot.Lot_Depot=" & nbLot & " ORDER BY Tbl_Registre_Depot.Numero_Depot"
                sqlCandidat = "SELECT Tbl_Registre_Depot.Numero_Depot, Tbl_Entreprise2.Denomination_Entreprise, Tbl_Entreprise2.Adresse_Entreprise, Tbl_Entreprise2.Code_Postal_Entreprise, Tbl_Entreprise2.Ville_Entreprise, Tbl_Registre_Depot.ID_Marche, Tbl_Registre_Depot.ID_Entreprise, Tbl_Registre_Depot.Lot_Depot FROM Tbl_Entreprise2 INNER JOIN Tbl_Registre_Depot ON Tbl_Entreprise2.ID_Entreprise = Tbl_Registre_Depot.ID_Entreprise WHERE Tbl_Registre_Depot.ID_Marche = 34 And Tbl_Registre_Depot.Lot_Depot =" & nbLot & " ORDER BY Tbl_Registre_Depot.Numero_Depot"
                Set dbCandidat = CurrentDb
                Set rsCandidat = dbCandidat.OpenRecordset(sqlCandidat)
                ActiveDocument.Tables(nbLot).Cell(nbLigLot + 1, 1).Range.Text = rsCandidat.Fields("Numero_Depot")
                ActiveDocument.Tables(nbLot).Cell(nbLigLot + 1, 2).Range.Text = rsCandidat.Fields("Denomination_Entreprise") & vbCrLf & rsCandidat.Fields("Adresse_Entreprise") & vbCrLf & rsCandidat.Fields("Code_Postal_Entreprise") & " " & rsCandidat.Fields("Ville_Entreprise")
                rsCandidat.Close
                Set rsCandidat = Nothing
                dbCandidat.Close
                Set dbCandidat = Nothing
            Next nbLigLot
    Next nbLot
    nbLot compte le nombre de lot dans un contrat (ca me permet de créer autant de tableau qu'il y a de lots).
    nbLigLot compte le nombre d'enregistrement par lot. Ceci fonctionne très bien pour la deuxième étape du code car nbLigLot correspond à l'ordre de classement des entreprises qui lui est continu (1,2,3,4,...). Il me permet donc facilement de faire correspondre la ligne du tableau word avec le numéro d'enregistrement de la requête.


    Donc pour résumer : comment aller à l'enregistrement suivant pour chaque nouvelle ligne dans le tableau word ?

    J'espère que j'ai réussi à me faire comprendre.


    Merci

  2. #2
    Membre régulier
    Inscrit en
    Février 2011
    Messages
    263
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 263
    Points : 100
    Points
    100
    Par défaut
    Bon bah j'ai réussi tout seul

    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
    For nbLot = 1 To nbLot - 1
     
                sqlCandidat = "SELECT Tbl_Registre_Depot.Numero_Depot, Tbl_Entreprise2.Denomination_Entreprise, Tbl_Entreprise2.Adresse_Entreprise, Tbl_Entreprise2.Code_Postal_Entreprise, Tbl_Entreprise2.Ville_Entreprise, Tbl_Registre_Depot.ID_Marche, Tbl_Registre_Depot.ID_Entreprise, Tbl_Registre_Depot.Lot_Depot FROM Tbl_Entreprise2 INNER JOIN Tbl_Registre_Depot ON Tbl_Entreprise2.ID_Entreprise = Tbl_Registre_Depot.ID_Entreprise WHERE Tbl_Registre_Depot.ID_Marche = 34 And Tbl_Registre_Depot.Lot_Depot =" & nbLot & " ORDER BY Tbl_Registre_Depot.Numero_Depot"
                Set dbCandidat = CurrentDb
                Set rsCandidat = dbCandidat.OpenRecordset(sqlCandidat)
                While Not rsCandidat.EOF
     
            For nbLigLot = 1 To nbLigLot + 1
     
     
                ActiveDocument.Tables(nbLot).Cell(nbLigLot + 1, 1).Range.Text = rsCandidat.Fields("Numero_Depot")
                ActiveDocument.Tables(nbLot).Cell(nbLigLot + 1, 2).Range.Text = rsCandidat.Fields("Denomination_Entreprise") & vbCrLf & rsCandidat.Fields("Adresse_Entreprise") & vbCrLf & rsCandidat.Fields("Code_Postal_Entreprise") & " " & rsCandidat.Fields("Ville_Entreprise")
                rsCandidat.MoveNext
     
     
            Next nbLigLot
     
                Wend
                rsCandidat.Close
                Set rsCandidat = Nothing
                dbCandidat.Close
                Set dbCandidat = Nothing
     
    Next nbLot

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/03/2010, 10h36
  2. Créer un tableau html à partir d'une requête sql
    Par biba35 dans le forum Langage
    Réponses: 5
    Dernier message: 05/02/2009, 09h14
  3. Créer un tableau html à partir d'une requête sql
    Par biba35 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 04/02/2009, 10h17
  4. [SQL] Tableau associatif à partir d'une requête
    Par hugo69 dans le forum WinDev
    Réponses: 1
    Dernier message: 24/03/2007, 19h22
  5. [PHPLIB] Afficher un tableau à partir d'une requête
    Par Erigion dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 06/02/2006, 11h55

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