Impression enregistrements état ACCESS

Fermé
Jarlo Messages postés 15 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 9 août 2010 - 20 févr. 2008 à 16:26
 Michel - 5 oct. 2017 à 13:35
Bonjour,

Je voudrais imprimer un enregistrement à partir d'un état fait à partir d'un formulaire. Malheureusement, Access m'imprime systématiquement tous les enregistrements alors que je veux imprimer seulement l'enregistrement sur lequel je suis en train de travailler, et je veux qu'Access retienne toujours ce paramètre quand je veux imprimer.

Merci de m'éclairer et désolé si ce thème est déjà traité dans une autre discussion, malgré ma recherche préliminaire.

19 réponses

LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
21 févr. 2008 à 23:05
Normalement, si tu as correctement rempli le critère, Access va lire la valeur du champ dans le formulaire sans rien te demander.

Ton état existe déjà. Il est basé sur la table.
Tu le passes en mode création, tu sélectionnes l'état, tu affiches les propriétés, tu vas dans la zone Source, qui doit contenir le nom de ta table, et tu cliques sur le bouton générateur à droite. Acces devrait te demander "Voulez vous créer une requête basée sur cette table", tu réponds Oui.

Tu mets tous les champs avec l'astérisque, plus le champ qur lequel tu veux mettre le critère, en décochant la case "Afficher"
Dans la zone Critères de ce champ, tu fais un clic droit, tu choisis créer, dans la partie gauche de l'Assistant tu choisis Formulaires- Tous les formulaires - et le nom de ton formulaire, et dans la partie centrale tu doubles cliques sur le nom du champ identifiant l'enregistrement à imprimer. Dans la partie haute doit s'afficher Forms!NomDeTonFormulaire!NomDuChamp.

Tu valides et ça doit marcher!
12
depuis le temps que je cherchais comment faire ça !! merci merci merci ça marche super !
0
Super, ça fonctionne du premier coup!!!
des explication claires, un processus simple
bravo

Michel
0
Jarlo Messages postés 15 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 9 août 2010 2
23 févr. 2008 à 11:12
Merci beaucoup LatelyGeek pour avoir pris le temps de tout bien m'expliquer en détail.

J'ai fait comme tu m'as dit, mais ça ne fonctionne qu'à moitié.

C'est-à-dire qu'au moment de cliquer sur le bouton qui envoie vers l'état en mode vue avant impression, il ne m'affiche bien qu'un seul registre, comme je le souhaitais.

Par contre, l'état est vide !

En outre, quand l'état s'affiche, il me demande de sélectionner le registre que je veux, tout comme au moment d'imprimer, ce je ne souhaite pas bien sûr.

Et si dans la requête je ne mets qu'une étoile au lieu du critère précis dans le champ voulu, il ne me demande rien mais l'état es toujours vide !

Merci encore de m'aider, si tu as une idée de l'origine et la solution de ce problème...
2
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
20 févr. 2008 à 17:34
D'où lances-tu l'impression? Depuis un formulaire? Si oui il suffit de baser l'état non plus sur la table contenant les infos à imprimer, mais sur une requête basée sur cette table et dans laquelle tu mets un critère sur le champ permettant d'identifier l'enregistrement (Par exemple Forms!NomDuFormulaireAppelant!NAdhérent si tu veux imprimer la fiche d'un adhérent en particulier)

Sinon, un critère paramétré [Entrez le numéro de l'adhérent dont vous voulez imprimer la fiche]
0
Jarlo Messages postés 15 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 9 août 2010 2
20 févr. 2008 à 18:11
Merci LatelyGeek

je lance l'impression depuis un formulaire, dans lequel j'ai mis un bouton de commande qui me renvoie vers un rapport pour ensuite l'imprimer.

Quand apparaît le rapport, apparaît le premier enregistrement de la table mais si je clique sur suivant, je me rends compte qu'ils apparaissent tous. Or je voudrais imprimir l'enregistrement que je viens de visualiser, par l'exemple, le nº58 et non les 250 enregistrements de la table.

Un critère paramétré, ça ne m'intéresse pas car j'imprime toujours le formulaire que je viens de remplir (enfin, son état).

Tu comprends ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
20 févr. 2008 à 22:33
Oui, oui, je t'ai donné la réponse, d'ailleurs, tellement je comprenais bien!

Etat basé sur une requête contenant un critère faisant référence au formulaire que tu viens de quitter.

La syntaxe du critère étant
forms!NomFormulaire!NomChamp
0
Jarlo Messages postés 15 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 9 août 2010 2
21 févr. 2008 à 14:54
D'accord, mais quand j'éxécute la requête, une fenêtre apparaît et me demande de remplir le champ choisi. Or ce n'est pas cela que je veux.

Où dois-je insérer la syntaxe du critère ? Je sélectionne la table, puis le champ puis ce critère ? Est-ce de cette manière: ? (c'est un exemple)

forms!Facture!Prix

D'autre part, puis-je modifier la source de l'état, c'est-à-dire la requête au lieu de la table, depuis l'état lui-même au lieu de devoir refaire l'état à nouveau ?

Merci.
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
23 févr. 2008 à 11:49
Il faut faire attention à l'orthographe - et à la précision des demandes pour ménager les cervelles des collègues...

Comment veux tu que je te réponde si tu ne me dis pas

1- Ce que tu as mis comme critère
2 - Le message que t'affiche Access.

Je sais d'où vient ton problème, tu as fait une faute d'imprécision - accent, espace etc, j'en suis sûre à 99%. Mais jee ne suis pas Mme Soleil et là, franchement, à distance, je ne saurais pas te dire où!!!!
0
Jarlo Messages postés 15 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 9 août 2010 2
23 févr. 2008 à 12:16
Pardon, j'ai des difficultés à t'expliquer car je suis en Espagne, tout est donc en espagnol et j'ai du mal à me souvenir du nom des termes en français ou à les traduire. (tu me diras, t'as qu'à aller sur des forums espagnols ! lol)

Comme critère j'ai mis forms!NomFormulaire!NomChamp

Le message que m'affiche access: c'est de rentrer la valeur du champ pour lequel j'ai défini le critère.

Tu le sais bien, tu n'es pas obligé(e) de continuer à m'aider, tu en as déjà fait beaucoup.

Merci.
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
23 févr. 2008 à 17:25
Non je voudrais la syntaxe exacte, par exemple Forms!Facture!NFacture, et la syntaxe exacte du paramètre dont Access te demande d'entrer la valeur...
0
Jarlo Messages postés 15 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 9 août 2010 2
25 févr. 2008 à 14:03
La syntaxe exacte du critère que j'ai mis dans la requête :

[Formularios]![Acogida-Perfil]![Nº Exp:]

Et la syntaxe exacte du paramètre dont Access me demande d'entrer la valeur est :

Formularios!Acogida-Perfil!Nº Exp: quand j'éxécute la requête

et

Nº Exp: c'est à dire le nom du champ quand je clique dans le formulaire sur le bouton qui m'envoie vers l'aperçu avant impression du rapport.
0
Jarlo Messages postés 15 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 9 août 2010 2
28 févr. 2008 à 13:48
Je voudrais te remercier LatelyGeek car grâce à tes conseils, j'ai résolu mon problème. Je ne sais pas si j'avais mal écrit les critères ou pas mais bon.

¡Hasta luego! :-)
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
28 févr. 2008 à 16:00
Contente que tu aies résolu ton problème, je ne vois pas où était l'erreur mais bon!!!
0
Jarlo Messages postés 15 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 9 août 2010 2
4 mars 2008 à 17:13
Je relance le topic car me voilà confronté à un autre problème en rapport avec ce dernier.

Dans le formulaire, quand je clique sur le bouton qui m'envoie vers l'état, parfois l'état est rempli, d'autres fois non ! Je ne comprends pas la logique, d'où vient l'erreur...j'ai vérifié les propriétés dans la table mais je ne voie pas.

J'espère que je suis pas trop flou dans mes explications.

Une idée ?
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
4 mars 2008 à 20:03
Pour être franche, tu es carrément trop flou dans tes explications!!!

On sait pas si l'état est basé sur une table ou une requête, pour commencer. On suppose que c'est une requête, sinon le résultat serait identique à chaque fois, sauf si tu supprimes les enregistrements d'une fois sur l'autre.

Donc on peu supposer que la requête sur laquelle est basée l'état comporte un critère qui fait que parfois le résultat de cette requête est vide, mais c'est à peu près les seuls suppositions qu'on oeut faire pour le moment.

Des précisions s'il te plaît!!!
0
Jarlo Messages postés 15 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 9 août 2010 2
5 mars 2008 à 10:11
L'informatique, parfois c'est comme la philosophie, il suffit de faire un retour en arrière, de s'arrêter 5 minutes et de réfléchir, d'écouter l'autre et de se poser des questions.

J'avais par erreur mis un critère à un autre champ, qui faisait sans que je le sache, un filtre des enregistrements. Merci Latelygeek.

Par ailleurs, saurais-tu comment faire pour que dans l'état, sur l'impression apparaissent les noms des valeurs introduites plutôt que celles introduites dans le champ clé, c'est-à-dire des numéros ? Ou même pour que toutes les valeurs d'une liste déroulante apparaissent sur le papier ?

Merci.
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
5 mars 2008 à 22:14
Oui, si tu as une table de correspondance entre lesdits numéros du champ-clé et les valeurs que tu veux voir apparaître, il suffit que tu mettes ces deux tables en relation dans la requête sur laquelle est basée l'état, et que tu insères les champs de cette table de correspondance dans l'état.
0
Jarlo Messages postés 15 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 9 août 2010 2
10 mars 2008 à 12:01
Merci Latelygeek, mais je ne comprends pas ce qu'est cette table de correspondance...

Je vais être précis. J'ai une table. Dans la table, j'ai 3 champs: Num profesional, Profesional 1, Profesional 2 avec pour ces deux derniers des listes déroulantes et pour le premier un numéro.

Dans le formulaire, quand je sélectionne la valeur d'une liste déroulante, ce nom m'apparaît bel et bien. Mais quand je lis le rapport (fait à partir de ce formulaire) imprimé, n'apparaissent que les valeurs du champ clé, c'est-à-dire un numéro.

Tu vois ce que je veux dire ?

Merci.
0
LatelyGeek Messages postés 1758 Date d'inscription vendredi 4 janvier 2008 Statut Membre Dernière intervention 5 janvier 2023 550
10 mars 2008 à 15:16
Non, je ne comprends pas bien. Si tu n'as qu'une seule table....

Que contiennent exactement les listes déroulantes de la table??? Une liste de valeurs? Et quel champ appelles-tu dans le formulaire, qui devrait donner du texte et donne un numéro????
0
Private Sub Commande149_Click()

'Imprimer la facture à partir du bouton imprim dans le formulaire facture

On Error GoTo Err_Commande149_Click

Dim stDocName As String

stDocName = "Nom etat"
DoCmd.OpenReport stDocName, , , "Num_Facture=" & Me.Num_Facture

'DoCmd.OpenReport "Nom etat", acViewReport


Exit_Commande149_Click:
Exit Sub

Err_Commande149_Click:
MsgBox Err.Description
Resume Exit_Commande149_Click

End Sub
0