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 :

Exporter un formulaire et un sous formulaire en pdf [AC-2010]


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Conseil aux entreprises
    Inscrit en
    Juin 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Conseil aux entreprises
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 44
    Points : 26
    Points
    26
    Par défaut Exporter un formulaire et un sous formulaire en pdf
    Bonjour à toutes et à tous.

    J'espère que ma question ne froissera personne car je pense qu'elle a déjà été posée mais je n'ai pas trouvé de post répondant clairement à mon problème.

    Voilà, j'ai créé une base de donnée dont le MCD est en pièce jointe (PDF). J'ai finalisé la mise en forme de mon formulaire de saisie des factures et du sous-formulaire de détail des lignes composant la facture. Je souhaite à présent pouvoir exporter ce duo formulaire/sous-formulaire en format PDF afin de pouvoir l'imprimer, ou bien l'imprimer directement si cela est possible. En sachant que le but de la manoeuvre est tout de même de mettre le résultat en page avec un logo, un nom d'entreprise...

    Je vous remercie par avance du temps que vous allez prendre pour lire mon post, et surtout pour celui que vous allez dépenser pour m'aider à résoudre mon problème.

    Je ne suis ni un fainéant ni un profiteur, si vous souhaitez simplement me mettre sur une piste, je suis bien évidement preneur.

    Cordialement.

    PME Diag

  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,

    Je ne vois pas le rapport entre ta question et ton MCD...

    Sinon rien ne t'empêche d'utiliser la commande.

    Avec ton formulaire.

    Attention cependant au résultat ! il est plus judicieux de passer par un état. A chaque objet correspond une fonction.

    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
    Nouveau membre du Club
    Homme Profil pro
    Conseil aux entreprises
    Inscrit en
    Juin 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Conseil aux entreprises
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 44
    Points : 26
    Points
    26
    Par défaut
    Bonjour loufab.

    Je te remercie pour ta réponse très rapide.

    Le MCD, c'était juste pour que vous compreniez bien en quoi consiste l'utilisation de cette base de données, on va dire un complément d'information.

    Alors pour toi, je devrais passer par un état, c'est ça ?

    Je créé l'état à partir du couple de formulaires ou je créé une requète et ensuite l'état sur cette requète ?

    Merci encore.

    Cordialement

    PME Diag

  4. #4
    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,


    C'est ce que je ferais. L'état permet des choses qu'un formulaire n'est pas capable.

    Tu ouvres simplement ton formulaire en mode création et tu fais Fichier/Enregistrer l'objet sous.../En tant que Etat.

    Dès lors tu peux utiliser la commande
    qui est largement plus souple qu'un printout.

    Utiliserais-tu un couteau pour manger une soupe ?
    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

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Conseil aux entreprises
    Inscrit en
    Juin 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Conseil aux entreprises
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 44
    Points : 26
    Points
    26
    Par défaut
    Bonjour loufab.

    Je te remercie beaucoup pour ce renseignement. Je débute en access et je découvre avec bonheur toutes les possibilités offertes par ce super logiciel, et Dieu sait s'il y en a. Gràce à toi j'ai réussi à faire ce que je voulais faire.

    Problème résolu. Merci et longue vie à ce super site.

    Cordialement.

    PME Diag

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Conseil aux entreprises
    Inscrit en
    Juin 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Conseil aux entreprises
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 44
    Points : 26
    Points
    26
    Par défaut Retour.
    Bonjour à toutes et à tous.

    Désolé de déterrer ce vieux poste, j'espère que quelqu'un le lira, sinon j'ouvrirai une nouvelle discussion.

    J'ai fais ce que loufab m'a dit, j'ai enregistré mon formulaire sous forme d'un état. Cet état reprend bien la forme de mon formulaire. Cependant, lorsque je l'ouvre à l'aide d'un bouton que j'ai ajouté sur mon formulaire, il me donne la liste des factures avec cet état, et nom seulement la facture que je suis en train de saisir avec mon formulaire.

    Comment dois-je procéder pour que l'état ouvert ne porte que sur la facture en cours de saisie ?

    Je vous remercie par avance de votre aide.

    Cordialement.

    PME Diag

  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
    Bonjour,

    Sujet abordé à de nombreuses reprises et présent dans la faq !

    http://access.developpez.com/faq/?page=Forms#PassValeur

    Il faut utiliser la clause Where de la commande OpenReport.

    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

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Conseil aux entreprises
    Inscrit en
    Juin 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Conseil aux entreprises
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 44
    Points : 26
    Points
    26
    Par défaut
    Bonjour loufab.

    Cette question est effectivement traitée dans la FAQ, je suis désolé.

    J'ai tenté de réaliser l'opération mais cela ne me donne pas le résultat attendu.

    J'ai mon formulaire avec IdFacture, IdClient, DateFacture, IdModeReglement et EtatFacture, j'ai mon sous-formulaire, basé sur une requête, avec IdFacture, IdPrestation, Quantite, PrixUnitaireHT, MontantHT, TVA et MontantTTC.

    J'ai créé un bouton qui commande l'ouverture de l'état (lui-même créé en enregistrant le formulaire sous forme d'état). Je clique droit sur le bouton et je sélectionne le premier choix (créer un évènement code). Je vois bien comment fonctionne le générateur de code, mais je ne sais pas bien quoi saisir dans la clause where.

    Je te remercie encore pour ton aide.

    Cordialement.

    PME Diag

  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
    Bonjour,

    ou [Champ] est le nom du champ dans l'état.
    et champ est le nom du champ dans le formulaire.

    Attention selon le type de [Champ] tu devras mettre ou non le séparateur texte.

    Exemple:
    Numérique, date...
    Texte, mémo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "[Champ]=""" & me.champ & """"
    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

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Conseil aux entreprises
    Inscrit en
    Juin 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Conseil aux entreprises
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 44
    Points : 26
    Points
    26
    Par défaut
    Excuse-moi de t'ennuyer encore avec mon problème, mais cela ne fonctionne pas.

    Voici le code que j'ai saisi comme action à effectuer sur click du bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport EditionFacture, acViewPreview, , "[IdFacture]=" & Me.IdFacture
    Mon état à ouvrir s'appelle EditionFacture, tu l'auras compris.

    Au moment de la compilation, access me donne le message suivant :

    Erreur d'exécution '2497':

    L'action ou la méthode requiert un argument Nom état

    Vois-tu d'où peut venir le problème ?

    Si tu préfères, je peux t'envoyer ma base de données afin que tu en comprennes mieux le fonctionnement.

    Cordialement.

    PME Diag

  11. #11
    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
    Message clair ton nom d'état n'est pas reconnu.

    Dans ton cas tu y passes un variable qui s'appelle EditionFacture.

    Entre double-cote cela deviendra un nom de d'objet (état).

    Lorsque tu as un message d'erreur le premier réflexe doit être F1 sur la commande et non un post.
    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

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Conseil aux entreprises
    Inscrit en
    Juin 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Conseil aux entreprises
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 44
    Points : 26
    Points
    26
    Par défaut
    Salut loufab.

    Merci pour l'info, ce problème-ci est réglé. Je prends note de l'utilisation de la touche F1 et je saurai en faire bon usage crois moi.

    J'ai cependant un nouveau message d'erreur :

    Erreur d'exécution '3075':

    Erreur de syntaxe (opérateur absent) dans l'expression "[IdFacture="

    Et l'aide contextuelle n'est pas d'une très grande utilité :

    L'expression que vous avez tapée n'est pas valide pour la raison indiquée dans le message. Vérifiez que vous avez correctement tapé les noms de champ et la ponctuation, puis tentez à nouveau l'opération.

    Vois-tu ce que cela peut-être ?

    Désolé de t'ennuyer encore, les boulets débutants ce doit être lours à force, mais j'aimerais vraiment comprendre ce que j'ai pu rater dans la conception de ma bdd et, qui sait, pouvoir venir en aide à d'autres débutants plus tard.

    Merci beaucoup.

    PME Diag

  13. #13
    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
    Il vaut mieux sélectionné la commande (openreport) et taper F1. L'aide sur une erreur peut te donner quelques pistes de réflexion.

    Ton problème vient du fait que tu ne mets pas les double-cotes autour du nom de l'état. Comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    docmd.openreport "EditionMachin",....
    Du coup il prend EditionMachin pour une variable qu'il ne trouve pas.

    Tu devrais systèmatiquement utiliser Option Explicit dans tous tes modules (VBE/Options/Editeur/Déclaration de variables obligatoires), ainsi il te signalera les variables manquantes , qu'il te faudra déclarer et donc ce qu'il prend pour des variables.

    Pour ta nouvelle erreur "tapez les noms de champ et la ponctuation" : Il te donne bien la solution

    Tout crochet ouvert doit un jour être refermé.
    Nous avons tous été débutants un jour et le seront forcément dans l'avenir, à moins de rien apprendre de nouveau.

    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

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Conseil aux entreprises
    Inscrit en
    Juin 2011
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Conseil aux entreprises
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2011
    Messages : 44
    Points : 26
    Points
    26
    Par défaut
    Bonjour loufab.

    Il s'agit ici d'une faute de frappe, j'avais bien fermé le crochet, et au bon endroit.

    J'ai donc repris la conception de ma BDD. J'ai créé une requête basée sur la table DetailFactures, avec les calculs qui vont bien. J'ai recréé mon formulaire Facture, avec un sous-formulaire DetailFacture basé sur la requête.

    Ensuite j'ai créé un état basé sur la table Factures. Un sous-état basé sur ma requête, et une macro qui appelle cet état complet avec une condition basée sur la valeur de IdFacture dans le formulaire Facture.

    Cela a l'air de fonctionner correctement.

    Je te remercie beaucoup de la patience dont tu as fais preuve. User m'a aidé également sur un autre poste. Merci à vous deux. Je pourrai ainsi venir en aide à d'autres débutants comme moi.

    Continuez ce que vous faites, c'est génial.

    Cordialement.

    PME Diag

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/07/2015, 09h21
  2. Sous-formulaire dans un sous-formulaire
    Par gorjette dans le forum IHM
    Réponses: 11
    Dernier message: 16/09/2010, 10h13
  3. Réponses: 5
    Dernier message: 06/08/2008, 15h11
  4. Réponses: 0
    Dernier message: 12/05/2008, 19h40
  5. Lien sous-formulaire à un autre sous-formulaire
    Par jehhej dans le forum Access
    Réponses: 4
    Dernier message: 25/01/2006, 08h05

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