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 :

[ACCESS] Edition en masse d'un Etat en pdf depuis une table ou un formulaire access


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2024
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2024
    Messages : 11
    Points : 3
    Points
    3
    Par défaut [ACCESS] Edition en masse d'un Etat en pdf depuis une table ou un formulaire access
    Bonjour à tous,

    Je suis nouveau sur ce forum et j'ai parcouru pas mal de sujet sur le site traitant en parti de mon problème mais tous mes essais sont KO quand je veux adapté ce qui est proposé...
    je vous explique mon besoin :

    J'ai créé un Etat pour lequel je lis les données d'un Form (Fiche Pays) pour lequel j'imprime en Pdf la fiche de synthèse avec une règle de nommage (je définis où je veux le stocker, comment il doit s'appeler ("Fiche_"+Pays)
    Tout çà fonctionne très bien au cas par cas, depuis le Form, je clique sur un bouton et çà me génère le Pdf et il s'enregistre tout seul là où je veux.

    Mon souci c'est que je n'arrive pas à faire une boucle pour qu'à partir d'un bouton je puisse lancer l'édition de toutes les fiches de la table, et non plus depuis un Form unique, pour lesquelles un champs contient une valeur genre "imprime / imprime pas" la fiche...

    Est ce que quelqu'un pourrait m'aider svp ?

    voici le code pour la partie Edition de la fiche depuis le form :

    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
    Private Sub Button_Editer_pdf_Click()
    'Enregistre les modifs qu'il pourrait y avoir avant de générer la fiche
    Refresh
    DoCmd.Save acForm, "Fiche Pays"
    ' Permet d'ouvrir l'état de la fiche Pays en cours pour édition en Pdf
    DoCmd.OpenReport "Fiche Pays", acViewReport, , , acWindowNormal
    '-------------------------------------
    'CheminPDF = définit où sont stockés les fiches PDF en local pour être rapide à la génération
    CheminPDF = "C:\Users\Public\Documents"
    'NomPDF = définit le nommage du fichier PDF qu'on génére FICHE_ + le pays et l'extention .pdf
    NomPDF = "FICHE_" & Pays & ".pdf"
    '-------------------------------------
    'Ouvre l'Etat et génère la Fiche pdf et referme l'état, le fichier est enregistré directement dans le répertoire CheminPDF
    DoCmd.OutputTo acOutputReport, , "PDF", CheminPDF & NomPDF, False, "", , acExportQualityPrint
    DoCmd.Close acReport, "Fiche Pays"
    '-------------------------------------

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    Pour faire une boucle sur les enregistrements tu peux utiliser l'objet recordset de DAO (voir le tuto DAO).

    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
    Private Sub Button_Editer_pdf_Click()
    dim rst as recordset
     
    set rst = me.recordsetclone  'cet objet est propre au form et report
    rst.movefirst
    while not rst.eof
        imprimePdf rst.fields("idpays").value  'je passe la valeur de la clef unique à la procédure
        rst.movenext       
    wend
    rst=nothing 'parce que quand on ouvre qq chose on le libère
    End sub
     
     
    Private Sub imprimePdf(rst as long)
    'Enregistre les modifs qu'il pourrait y avoir avant de générer la fiche
    Refresh
     
    'DoCmd.Save acForm, "Fiche Pays" 'Pourquoi ?
     
    ' Permet d'ouvrir l'état de la fiche Pays en cours pour édition en Pdf
    ' ICI  "idpays=" idpays on passe la valeur pour que le report n'affiche que ce pays.
     
    DoCmd.OpenReport "Fiche Pays", acViewReport, ,  "idpays=" & idpays , acWindowNormal
     
    ... la suite de ton code
    end sub
    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2024
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2024
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Bonjour Et Merci pour la réponse commentée,

    J'ai un souci quand je clique sur le bouton , j'ai ce message :
    Utilisation incorrecte de la propriété "rst"
    Est ce que j'ai mal recopié le code ?
    j'ai juste modifié le nom du bouton "IMPRIME_FULL" et le nom de l'état "Fiche Pays HLV en masse"

    Merci

    Nom : 2024-03-18 09_51_14-Window.jpg
Affichages : 79
Taille : 72,5 Ko

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 878
    Points : 4 754
    Points
    4 754
    Par défaut
    A corriger :
    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
    Private Sub Button_Editer_pdf_Click()
    dim rst as DAO.recordset
     
    set rst = me.recordsetclone  'cet objet est propre au form et report
    rst.movefirst
    while not rst.eof
        imprimePdf rst.fields("idpays").value  'je passe la valeur de la clef unique à la procédure
        rst.movenext       
    wend
    rst=nothing 'parce que quand on ouvre qq chose on le libère
    End sub
     
     
    Private Sub imprimePdf(idpays  as long)
    'Enregistre les modifs qu'il pourrait y avoir avant de générer la fiche
    Refresh
     
    'DoCmd.Save acForm, "Fiche Pays" 'Pourquoi ?
     
    ' Permet d'ouvrir l'état de la fiche Pays en cours pour édition en Pdf
    ' ICI  "idpays=" idpays on passe la valeur pour que le report n'affiche que ce pays.
     
    DoCmd.OpenReport "Fiche Pays", acViewReport, ,  "idpays=" & idpays , acWindowNormal
     
    ... la suite de ton code
    end sub
    "Always look at the bright side of life." Monty Python.

  5. #5
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2024
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2024
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par micniv Voir le message
    A corriger :
    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
    Private Sub Button_Editer_pdf_Click()
    dim rst as DAO.recordset
     
    set rst = me.recordsetclone  'cet objet est propre au form et report
    rst.movefirst
    while not rst.eof
        imprimePdf rst.fields("idpays").value  'je passe la valeur de la clef unique à la procédure
        rst.movenext       
    wend
    rst=nothing 'parce que quand on ouvre qq chose on le libère
    End sub
     
     
    Private Sub imprimePdf(idpays  as long)
    'Enregistre les modifs qu'il pourrait y avoir avant de générer la fiche
    Refresh
     
    'DoCmd.Save acForm, "Fiche Pays" 'Pourquoi ?
     
    ' Permet d'ouvrir l'état de la fiche Pays en cours pour édition en Pdf
    ' ICI  "idpays=" idpays on passe la valeur pour que le report n'affiche que ce pays.
     
    DoCmd.OpenReport "Fiche Pays", acViewReport, ,  "idpays=" & idpays , acWindowNormal
     
    ... la suite de ton code
    end sub
    '---------------------------
    J'ai toujours ce problème.. Nom : 2024-03-18 13_50_40-Microsoft Visual Basic pour Applications - RSA Fiche Pays - TEST IMPRESSION .jpg
Affichages : 77
Taille : 71,3 Ko

  6. #6
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonjour,
    petite erreur d'inattention ? c'est DAO.Recordset, pas DAO.rRecordset
    penser à compiler le code: cela ne garantit pas qu'il est correct mais au moins vérifie la syntaxe ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    la référence DAO n'est pas chargée.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  8. #8
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    bonsoir loufab,
    non je pense que cela vient bien du "rR" dans DAO.rRecordset:

    Nom : _0.JPG
Affichages : 69
Taille : 16,5 Ko

    ou pas ...
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  9. #9
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    ou pas... plutôt pas complètement.

    Si tu relis le 1er message après l'utilisation de mon code, l'orthographe de Recordset est bonne. Et le problème est déjà là.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  10. #10
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2024
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2024
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par loufab Voir le message
    ou pas... plutôt pas complètement.

    Si tu relis le 1er message après l'utilisation de mon code, l'orthographe de Recordset est bonne. Et le problème est déjà là.
    '--------------------------------------------

    Bonjour, je comprends pas çà ne fonctionne toujours pas.
    Désolé de vous solliciter encore.

    Merci de votre aide
    Nom : 2024-03-19 09_32_24-Microsoft Visual Basic pour Applications - RSA Fiche Pays - TEST IMPRESSION .jpg
Affichages : 63
Taille : 29,7 Ko

  11. #11
    Membre éprouvé
    Homme Profil pro
    Développeur .net - Office - Quadiant
    Inscrit en
    Février 2020
    Messages
    585
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Développeur .net - Office - Quadiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2020
    Messages : 585
    Points : 1 080
    Points
    1 080
    Par défaut
    Bonjour

    ONTAYG

  12. #12
    Candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Mars 2024
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mars 2024
    Messages : 11
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par ONTAYG Voir le message
    Bonjour

    ONTAYG


    ---------------
    RE bonjour,

    j'ai du ajouté un champs idpays car ce champs n'existait pas dans la table, c le nom du pays qui sert de référence..

    maintenant ça génère bien les 257 Fiches pdf mais elles sont vide de valeurs... juste les libellé de champs mais pas les valeurs...*
    => en reprenant, j'ai vu qu'il y a une requête sur les propriétés de l'état, j'ai pu modifié, maintenant j'ai bien les fiches qui se génère avec les infos dans les zones prévues, le nom est Fiche_ +Idpays (j’aimerais le remplacement par le nom du pays qui est plus parlant, mais ça ne fonctionne pas... et j'aimerais ajouter un critère pour dire "n'imprime que ceux dont la valeur égal "RSA" dans le champs "Source" (j'ai mis ces critères dans la requête de l'état mais l’édition en boucle n'en tient pas compte..

    J'ai 257 fiches pays, et il y en a qu'il ne faut imprimer, je devrais en avoir 180 environs car regroupement par pays pour plusieurs lignes... ca, ca fonctionne maintenant...

    Merci de vos pistes pour le nommage avec le nom du pays à la place de idpays, et le filtre pour n'éditer que celle dont le critère RSA est renseigné...

    Merci encore pour votre aide

  13. #13
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 648
    Points : 14 626
    Points
    14 626
    Par défaut
    re bonjour,
    Citation Envoyé par Chris_Nomade
    j'aimerais ajouter un critère pour dire "n'imprime que ceux dont la valeur égal "RSA" dans le champs "Source" (j'ai mis ces critères dans la requête de l'état mais l’édition en boucle n'en tient pas compte..
    ce critère est spécifique à quelques pays, mais est-ce que d'autres critères pourraient s'appliquer à d'autres pays ?
    Si c'est le dernier cas, le plus simple serait de rajouter un champ de type Oui/Non dans la table Pays qu'il faudra décocher dans le formulaire pour ne pas imprimer
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

Discussions similaires

  1. Réponses: 6
    Dernier message: 31/10/2013, 13h12
  2. Réponses: 25
    Dernier message: 19/05/2006, 11h37
  3. [Access 2003]Mettre une table dans un formulaire?
    Par steeves5 dans le forum Access
    Réponses: 2
    Dernier message: 04/05/2006, 13h30
  4. Etat en fonction d'une requete dans un formulaire
    Par Cablan dans le forum Access
    Réponses: 5
    Dernier message: 16/11/2005, 15h25
  5. Une table --> 2 sous formulaires d'édition ?
    Par Neilos dans le forum IHM
    Réponses: 2
    Dernier message: 20/06/2005, 16h10

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