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 :

"Exporter" feuille de données access dans word


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut "Exporter" feuille de données access dans word
    Bonjour à tous.
    Mon problème est le suivant :
    j'ai une base de données Access dans laquelle se trouve un formulaire "frmH".
    Dans ce formulaire j'ai mis bouton qui permet de transférer mes champs textes dans des signets de Word et qui permet également d'activer des cases à cocher dans Word.

    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    Private Sub BtnOuvertureFiche_Click()
    'on error goto err_formInsert()
     
     
    'déclaration des variables stockant les données du formulaire
    Dim wdapp As New Word.Application
    Dim Numéro As Variant
    Dim DtOuv As Variant
    Dim Auteur As Variant
    Dim Résumé As Variant
    Dim DtIncident As Variant
    Dim Lieu As Variant
    Dim Provenance As Variant
    Dim Référence As Variant
     
     
     
    'affectation de données
    Numéro = Me![dwId]
    DtOuv = Me![dtOuverture]
    Auteur = Me![szAuteur]
    Résumé = Me![szRésumé]
    DtIncident = Me![dtdépassement/prélèvement]
    Lieu = Me![szLieu]
    Provenance = Me![szProvenance résultats]
    Référence = Me![szRéféchantillon]
     
     
    'Démarrer Word
    Set wdapp = New Word.Application
     
    'on ouvre le document
    'et on renseigne les champs textes du formulaire word
    With wdapp
    .Documents.Add "...Fiche type.dot"
     
    .ActiveDocument.Bookmarks("dwID").Select
    .Selection.Text = " H " & Numéro
    .ActiveDocument.Bookmarks("dtOuverture").Select
    .Selection.Text = DtOuv & " "
    .ActiveDocument.Bookmarks("szAuteur").Select
    .Selection.Text = Auteur & " "
    .ActiveDocument.Bookmarks("szRésumé").Select
    .Selection.Text = Résumé & " "
    .ActiveDocument.Bookmarks("Processus").Select
    .Selection.Text = " H. ..."
    .ActiveDocument.Bookmarks("dtDateIncident").Select
    .Selection.Text = DtIncident & " "
    .ActiveDocument.Bookmarks("szlieu").Select
    .Selection.Text = Lieu & " "
    .ActiveDocument.Bookmarks("szprovenance").Select
    .Selection.Text = Provenance & " "
    .ActiveDocument.Bookmarks("szréférence").Select
    .Selection.Text = Référence & " "
     
     
    End With
     
    'On renseigne ensuite les case à cocher
    If Me![onReclamationClt] = -1 Then
    wdapp.ActiveDocument.FormFields("OnRC").CheckBox.Value = True
    End If
    If Me![ondépassement] = -1 Then
    wdapp.ActiveDocument.FormFields("ondépassement").CheckBox.Value = True
    End If
     
     
    wdapp.Visible = True
     
    ' je ferme l'application
    'wdapp.Application.Quit SaveChanges:=wdDoNotSaveChanges
     
    ' et j'avertis l'utilisateur que le fichier word est crée
    'MsgBox "Le fichier WORD est crée !"
    Set wdapp = Nothing
     
    End Sub

    Mais dans ce formulaire il y a un sous-formulaire de type feuille de données et je voudrais transférer les enregistrements de ce sous-formulaire dans un tableau dans Word.
    Quelqu'un peut-il m'aider ?
    Merci d'avance.

  2. #2
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    J'ai vu dans Word qu'on pouvait insérer des objets de type base de données (tables et requêtes Access compris). La solution passe peut être par la création de la requête dans Access (qui me retourne les informations de mon sous formulaire) et l'insertion du résultat de la requête dans word.

    Je continue mes recherches : comment faire tout ça avec VBA, et vous tiens au courant.

    Si vous avez d'autres idées n'hésitez pas.

    MErci bien
    CB

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut

    Problème résolu
    Comment insérer données du sous-formulaire Access dans un tableau word.



    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
     
    'compte le nombre de ligne de la requête qtestword qui retourne les enregistrement du sous-formulaire
    nb = DCount("dwId", "qtestword")
    'insertion des données dans fichier word
    If (nb > 0) Then
    'atteindre le tableau n°2 de mon document word (qui ne contient que les titres)
    wdapp.Selection.GoTo What:=wdGoToTable, Which:=wdGoToFirst, count:=2, Name:=""
    wdapp.Selection.Find.ClearFormatting
     
    'insère le nombre de ligne dans le tableau
    wdapp.Selection.InsertRowsBelow nb
     
    'insère les données
    Set rec = CurrentDb.OpenRecordset("qtestword", dbOpenDynaset)
    I = 2  'n° de la 1ere ligne dans laquelle je vais insérer les données
     
    Do While Not rec.EOF
        For j = 0 To rec.Fields.count - 1 'j = n° de la colonne
        wdapp.ActiveDocument.Tables(2).Columns(j + 1).Cells(I).Range.Text = " " & rec.Fields(j)
     
        Next j
        I = I + 1
        rec.MoveNext
    Loop
     
     
     
    End If

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

Discussions similaires

  1. Importer un export de base de données ACCESS dans MYQSL
    Par djibidl dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/08/2014, 13h19
  2. [AC-2003] Publipostage de données Access dans Word
    Par developp dans le forum VBA Access
    Réponses: 17
    Dernier message: 29/11/2010, 14h35
  3. [AC-2007] transferer des données access dans word
    Par Daguie dans le forum Access
    Réponses: 1
    Dernier message: 07/07/2010, 12h19
  4. Réponses: 2
    Dernier message: 31/03/2006, 11h29

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