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 :

Collecte, puis gestion de données pour passage sous Word depuis Access


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Août 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Collecte, puis gestion de données pour passage sous Word depuis Access
    Objectif : parcourir un sous formulaire (SFbouquins) générer par une requête appliquer sur une table (BouquinTb). Il s’agit de générer à partir de ce sous formulaire (SFbouquin) un document Word où va figurer la liste et les références des bouquins que l’opérateur à cocher dans les ChekBox situés dans la première colonne du sous formulaire.

    A - Formulaire Bouquin

    Liste déroulante = Thématique => Donne la valeur à la requête
    Ici Thématique = Cuisine => requête recherchant tout les bouquins sous la thématique cuisine

    B - Sous formulaire SFbouquin (Sus le formulaire Bouquin) :

    ChekBox NomBouqin RefBouquin CodeInventaire
    □ Cuisine Facile 45 123568

    Si la CheckBox est cocher (donc = True) alors les références du bouquin vont être mises sur le document word à éditer.

    Soit le code suivant :
    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
     
    Private Sub ListeBouquin_Click()
    On Error GoTo Err_ListeBouquin_Click
     
    Dim oDb As DAO.Database
    Dim oRst As DAO.Recordset
    Dim sqlQuery As String
    Dim NomBouquin As String
    Dim RefBouquin As String
    Dim CodeInventaire As String
     
    Set oDb = CurrentDb
    sqlQuery = "SELECT NomBouqin, RefBouquin, CodeInventaire FROM SFbouquin WHERE SFbouquin.ChekBox = True ;"
     
    Set oRst = CurrentDb.OpenRecordset("sqlQuery", dbOpenDynaset)
     
    With oRst
      If .RecordCount <> 0 Then 'Si l'objet recordset retourne au moins un enregistrement
        .MoveFirst 'Passe au premier enregistrement du jeu
        Do While Not .EOF 'Tant que la fin du jeu n'est pas atteint
     
        NomBouquin = oRst.Fields("NomBouquin").Value
        RefBouquin = oRst.Fields("RefBouquin").Value
        CodeInventaire = oRst.Fields("CodeInventaire").Value
     
         .MoveNext 'Passe à l'enregistrement suivant
        Loop
      End If
    End With
     
    oRst.Close
        Set oRst = Nothing
    oDb.Close
        Set oDb = Nothing
     
    Exit_ListeBouquin_Click:
        Exit Sub
     
    Err_ListeBouquin_Click:
        MsgBox err.Description
        Resume Exit_ListeBouquin_Click
     
    End Sub
    I - Le code semble fonctionner, cependant quand le bouton (ListeBouquin) est cliquer seul les informations du dernier bouquin qui à été selectionner sont pris en considération dans NomBouquin, RefBouquin et CodeInventaire.

    Pourriez – vous m’aider a faire en sorte que :
    NomBouquin regroupe l'ensemble des noms des bouquins selectionnés.
    RefBouquin regroupe l'ensemble des référence des bouquin selectionnés.
    CodeInventaire .../...
    Commen concevoir les lignes de code adéquate ????


    II – Sous word, ensuite les données doivent apparaître de la façon suivante :

    Nom des livres :
    Signet NomBouquin

    (Les noms de bouquin doivent apparaître les un sous les autres)
    - Cuisine Facile
    - Cuisine Plus …/…

    RefBouquin
    Signet RefBouquin

    (Les références doivent se suivre les unes derrière les autres)
    123568 – 125478 - …/…

    Seulement il peut y avoir 1 bouquin ou 20 bouquins sélectionner, alors comment gérer les lignes (en gras):
    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
    Dim WordApp As Word.Application
    Dim WordDoc As Word.Document
    
    Set WordDoc = WordApp.Documents.Open("V:\Biblio\Gestionnaire Biblio\Sortie livre.doc", ReadOnly:=False)
    WordApp.Visible = True
    
    .ActiveDocument.Bookmarks("NomBouquin").Select
    .Selection.Text = Me.NomBouquin
    
    .ActiveDocument.Bookmarks("RefBouquin").Select
    .Selection.Text = Me.RefBouquin
    
    .ActiveDocument.SaveAs (Chemin & "\" & NomFichier & ".doc")
    
    Set WordApp = Nothing
    Pourriez –vous me dire comment gérer la mise en page de ces infos sous word par le biais des signets ????
    Encore merci à ceux qui se pencherons sur le problème.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Fais un tour dans la FAQ.
    Partie Automation pour alimenter Word.
    Amicalement

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 02/03/2015, 15h23
  2. [CR XI] Gestion des données dans des sous rapports
    Par duduma dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 19/11/2014, 16h27
  3. Besoin de bases de données pour travailler sous SAS
    Par draculla dans le forum Débutez
    Réponses: 9
    Dernier message: 25/03/2014, 19h55
  4. Gestion des rôles pour identification sous Jboss
    Par bernidupont dans le forum Portails
    Réponses: 1
    Dernier message: 10/02/2014, 12h02
  5. Gestion de données analogiques numériques sous STEP7
    Par jordan973 dans le forum Automation
    Réponses: 4
    Dernier message: 02/04/2009, 09h47

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