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 :

Récupérer les données d'un sous-formulaire ?


Sujet :

VBA Access

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut Récupérer les données d'un sous-formulaire ?
    Bonjour,

    Je dispose de plusieurs tables dont patients et visites qui sont liées (plusieurs visite pour chaque patient à différentes dates), avec lesquelles je souhaitaient récupérer les données pour les extraire dans Word et ainsi imprimer une "Fiche" pour chaque patient.
    J'ai utilisé ce code trouvé ici (merci au passage) pour la partie du formulaire patient, et cela fonctionne très bien :
    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
    Private Sub Commande67_Click()
     
        'En cas d'erreur, on n'en tient pas compte
        On Error Resume Next
     
        'Déclaration d'une instance Word
        Dim W_App As New Word.Application
     
        'Instance Word
        With W_App
     
            'Word est visible à l'écran ou non
            .Visible = True
     
            'Ouvre le document Word avec les signets
            .Documents.Open ("C:\..\Formulaire.doc")
     
            'Tranfert du nom : strNom ==> Signet Nom
            .ActiveDocument.Bookmarks("Nom").Select
            .Selection.Text = Me.nom
     
             'Tranfert du nom :
            .ActiveDocument.Bookmarks("Prenom").Select
            .Selection.Text = Me.prenom
     
            'Tranfert du date :
            .ActiveDocument.Bookmarks("Date_n").Select
            .Selection.Text = Me.date_naissance
     
            'Tranfert du code_ss :
            .ActiveDocument.Bookmarks("Code_ss").Select
            .Selection.Text = Me.code_ss
     
            'Tranfert adresse :
            .ActiveDocument.Bookmarks("Adresse").Select
            .Selection.Text = Me.adresse
     
            'Tranfert ville :
            .ActiveDocument.Bookmarks("Ville").Select
            .Selection.Text = Me.ville
     
            'Tranfert date_v :
            .ActiveDocument.Bookmarks("Date_v").Select
            .Selection.Text = Reports.patient.date_v
     
            'Tranfert date_v :
            .ActiveDocument.Bookmarks("Acte").Select
            .Selection.Text = Reports.patient.acte
     
            'Sauvegarde du nouveau document
            .ActiveDocument.SaveAs ("C:\..\MaBase\doc\" & Me.nom & "_" & Me.prenom & ".doc")
     
            'Fermeture de Word
            .Quit
     
        End With
     
        'Libération de l'objet Word
        Set W_App = Nothing
     
    End Sub
    Je coince vraiment sur la partie du SOUS formulaire "VISITE" avec les champ Date_v et Code pour lesquels j'ai créé un Etat mais je ne récupère qu'une seule valeur !
    Comment pourrais je récupérer toutes les données relatives au sous formulaire VISITE ? Est ce qu'il y a la possibilité de faire une boucle pour le sous formulaire ?

    Merci pour votre aide !

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Pourquoi exporter dans Word alors qu'un état peut te permettre d'imprimer directement les données.
    Ton sous état est-il lié à l'état principal par les champs Père/Fils ?
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  3. #3
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Qu'as-tu comme signets dans ton .doc pour accueillir les données du sous-formulaire ? Dont le nombre de paires Date/Code est variable d'un patient à l'autre ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Bonjour,
    Je souhaite passer par Word parce que je trouvais plus pratique pour imprimer sur des fiches pré imprimées.
    J'ai effectivement disposer des signets pour le formulaire patient et j'aimerais disposer les champs du sous formulaire dans un petit tableau (date- visite-commentaire), le nombre de date-visite est effectivement variable d'un patient à l'autre.
    Merci pour votre aide.

  5. #5
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    OK, j'entends bien pour les champs du formulaire, mais qu'as-tu prévu dans le .doc pour accueillir les lignes relatives aux visites ?
    Je suppose que le sous-formulaire dont tu parles est un « fils » de ton principal, avec un enregistrement par visite de ce patient.
    Une piste peut-être : une série de paires de signets date/code numérotées de 1 à un nombre maximum raisonnable (les 5 ou 10 dernières par exemple) et dans le code, constituer un recordset avec la source du sous-formulaire pour lire 1 à 1 les enregistrements du sous-formulaire et garnir les signets ad hoc.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Je suppose que le sous-formulaire dont tu parles est un « fils » de ton principal, avec un enregistrement par visite de ce patient.
    C'est tout à fait ça !
    une série de paires de signets date/code numérotées de 1 à un nombre maximum raisonnable
    J'envisageais de stocker les données dans un petit tableau inséré dans Word avec 2-3 colonnes (date, code, commentaire)!
    Comment affecter les données depuis VBA vers une série de signet numérotés ?
    Merci pour cette piste !

  7. #7
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Sans doute une meilleure piste !

    Regarde ce tutoriel : http://claudeleloup.developpez.com/t...cuments-types/ et vois comment on a procédé pour les antécédents du malade.

    Ils sont logés dans une zone de texte et séparés par un saut à la ligne. L’ensemble est envoyé vers un seul signet dans le .doc. => l’espace occupé dans le document final s’adapte donc automatiquement.

    Pour utiliser la même stratégie dans ton cas, il « suffirait » de construire une chaîne de caractères
    - composée des enregistrements du fils,
    - séparés par un saut de ligne
    - et d’affecter le résultat au signet.

    Le code ressemblerait à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     Dim rst As Recordset
     Dim sVisites As String
     Set rst = Me.CtnrDuSF.Form.RecordsetClone
     rst.MoveFirst
     Do Until rst.EOF
       sVisites = sVisites & rst(0) & "-" & rst(1) & vbLf
       rst.MoveNext
     Loop
       'Alimenter le signet avec sVisites




    J’utilise Access2000, pourrais-tu poster un échantillon de ta base dans cette version (avec des données anonymes) pour baser mes tests sur un exemple concret ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci, j'ai un peu de temps , je vais me pencher sur cette solution !

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Je vous joins la structure de ma base pour que cela soit plus clair, moi même je me perd étant novice :
    Nom : base.jpg
Affichages : 732
Taille : 52,5 Ko

    En fait, je souhaiterais extraire (vers Word) les données de VISITE qui dépend de GROSSESSE qui dépend elle-même de PATIENT !
    Est ce possible d’exporter la liste de VISITE avec la date, l'acte et si possible de faire la SOMME des ACTE associé aux VISITE pour chaque GROSSESSE ?

    Ça me parait bien compliqué ? Merci

  10. #10
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Quand tu demandes si c'est possible, la réponse est certainement : « Oui ». Encore faut-il voir comment accoucher d'un tel outil !

    Peux-tu poster un échantillon de ta db avec des données anonymes et en version compatible Access2000. Cela nous permettra de discuter sur du concret.
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    bonjour,

    J'ai revu ma copie et je vais abandonner les fiches pré-imprimées par Word !
    Je vais essayer d'utiliser la fonction "ETAT" d'Access pour sortir mes fiches patientes.
    Comment dois je faire pour sortir l’état correspondant au sous formulaire pour une patiente donnée ?
    merci encore pour votre aide précieuse,

  12. #12
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut


    Comment dois je faire pour sortir l’état correspondant au sous formulaire pour une patiente donnée ?
    Tu utilises un sous état. Il fonctionne de la même façon que le sous formulaire avec un champ Père/Fils

    Bonne continuation
    Jeannot

    Liens Office indispensables à visiter: Cours (Tutos), F.A.Q., Sources VBA

    Ne posez pas de questions par MP, je n'ai pas le temps d'y répondre

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Merci, je regarde de ce côté là !

Discussions similaires

  1. Récupérer les données d'un sous formulaire
    Par kiki.gaby dans le forum IHM
    Réponses: 4
    Dernier message: 23/11/2008, 18h33
  2. Réponses: 2
    Dernier message: 03/07/2007, 11h09
  3. Réponses: 2
    Dernier message: 02/06/2007, 17h21
  4. [MySQL] récupérer les données mysql dans un formulaire
    Par cali62100 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/04/2007, 14h17
  5. Réponses: 3
    Dernier message: 06/07/2006, 18h49

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