Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/09/2011, 16h24   #1
Candidat au titre de Membre du Club
 
Homme Aurélien Simon
Conseil aux entreprises
Inscription : juin 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Simon
Localisation : France, Cher (Centre)

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

Informations forums :
Inscription : juin 2011
Messages : 40
Points : 13
Points : 13
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
PMEDiag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 17h50   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
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,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/09/2011, 18h46   #3
Candidat au titre de Membre du Club
 
Homme Aurélien Simon
Conseil aux entreprises
Inscription : juin 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Simon
Localisation : France, Cher (Centre)

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

Informations forums :
Inscription : juin 2011
Messages : 40
Points : 13
Points : 13
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
PMEDiag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 10h41   #4
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
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.

Citation:
Utiliserais-tu un couteau pour manger une soupe ?
Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/09/2011, 10h47   #5
Candidat au titre de Membre du Club
 
Homme Aurélien Simon
Conseil aux entreprises
Inscription : juin 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Simon
Localisation : France, Cher (Centre)

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

Informations forums :
Inscription : juin 2011
Messages : 40
Points : 13
Points : 13
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
PMEDiag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/09/2011, 14h24   #6
Candidat au titre de Membre du Club
 
Homme Aurélien Simon
Conseil aux entreprises
Inscription : juin 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Simon
Localisation : France, Cher (Centre)

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

Informations forums :
Inscription : juin 2011
Messages : 40
Points : 13
Points : 13
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
PMEDiag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 11h12   #7
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
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,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 13h36   #8
Candidat au titre de Membre du Club
 
Homme Aurélien Simon
Conseil aux entreprises
Inscription : juin 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Simon
Localisation : France, Cher (Centre)

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

Informations forums :
Inscription : juin 2011
Messages : 40
Points : 13
Points : 13
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
PMEDiag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 16h18   #9
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
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 :
"[Champ]=""" & me.champ & """"
Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 18h35   #10
Candidat au titre de Membre du Club
 
Homme Aurélien Simon
Conseil aux entreprises
Inscription : juin 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Simon
Localisation : France, Cher (Centre)

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

Informations forums :
Inscription : juin 2011
Messages : 40
Points : 13
Points : 13
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 :
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
PMEDiag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 18h45   #11
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
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.
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 19h57   #12
Candidat au titre de Membre du Club
 
Homme Aurélien Simon
Conseil aux entreprises
Inscription : juin 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Simon
Localisation : France, Cher (Centre)

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

Informations forums :
Inscription : juin 2011
Messages : 40
Points : 13
Points : 13
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
PMEDiag est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/09/2011, 08h47   #13
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 089
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 089
Points : 11 622
Points : 11 622
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 :
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,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste
MsGraph et VBA - 1e Partie 2e partie
Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010
Complément :Générateur de msgbox
Visitez mon Blog
Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine
loufab est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 16/09/2011, 12h01   #14
Candidat au titre de Membre du Club
 
Homme Aurélien Simon
Conseil aux entreprises
Inscription : juin 2011
Messages : 40
Détails du profil
Informations personnelles :
Nom : Homme Aurélien Simon
Localisation : France, Cher (Centre)

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

Informations forums :
Inscription : juin 2011
Messages : 40
Points : 13
Points : 13
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
PMEDiag est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h30.


 
 
 
 
Partenaires

Hébergement Web