Imprimer l’enregistrement en cours

Ces articles pourraient également vous intéresser...

36 réponses

  1. Jacquis Gabriel dit :

    Bonjour Hervé,

    Voilà mon cas:
    Cela marche très bien mais je n’arrive pas à le faire avec plusieurs conditions en même temps.
    Pouvez-vous m’aider dans ce point?

    Merci

    • Hervé Inisan dit :

      S’il y a plusieurs conditions, le critère devient quelque chose comme :

      (sachant que valeur1 et valeur2 peuvent être des valeurs numériques simples, ou des textes, dans ce cas entre apostrophes, comme expliqué dans l’article).

      Le problème est que pour créer ce critère, il faut concaténer plusieurs valeurs (la concaténation sera lourde à écrire).
      Pour simplifier un peu, je conseillerais d’utiliser la fonction StringFormat dont il est question plusieurs fois sur ce site. Le critère pourrait alors s’écrire :

  2. Lily dit :

    Bonjour, est-ce que ça peut fonctionner également avec une requête ?

  3. Lily dit :

    Bonjour,
    et merci pour toutes ces précieuses infos ! Malheureusement, je ne parviens pas à entrer le code VBA puisque j’obtiens au moment de cliquer sur le bouton “impossible de trouver le champ “” auquel il est fait référence dans votre expression”..
    Dans mon cas la clef primaire [Id_bordereau] est de type texte et se présente comme suit : 2015-20 par exemple. Je ne comprends plus d’où vient l’erreur ! Auriez-vous une piste ?

    • Hervé Inisan dit :

      Si le champ est de type Texte, il faut consulter ce paragraphe : “Si votre clef primaire est de type Texte”. Il faut notamment :

      1. Que le critère contienne des apostrophes (qui servent à délimiter la valeur texte)
      2. Que le nom du champ soit écrit comme dans la table (et que la table soit la source du formulaire, du coup).

      Si ça ne marche pas, merci de poster ici le DoCmd qui produit l’erreur.

      • Lily dit :

        Bonjour et merci pour votre réponse,
        J’avoue que là je ne sais plus trop. La table est pourtant bien la source de mon formulaire. J’ai essayé pour un autre état (des étiquettes en l’occurrence) qui s’ouvre à partir d’un autre formulaire et ça marche très bien. Mais là je ne vois pas.

        stDocName = “E_BORDEREAU DE MOUVEMENTS”
        DoCmd.OpenReport stDocName, acPreview, , “[Id_bordereau]=’” & Me![Id_bordereau] &”‘”

        Merci par avance pour votre aide,

  4. Céline dit :

    Merci pour cette aide très claire. Quel plaisir de voir que ça marche!

  5. Bonjour, j’ai une préoccupation: j’ai fait ma facture, mais je demande si quelqu’un sait comment on doit imprimer une facture en cours sans toute fois faire recherche par numéro facture?

    • Hervé Inisan dit :

      Pour imprimer la facture en cours, il faut une info qui permette de retrouver l’enregistrement de table de façon sûre. D’où l’utilisation de la clef primaire.
      Quelle est la clef primaire de la table Factures ?

  6. Sissy dit :

    Merci, super simple à comprendre et à faire.

  7. Kris dit :

    Comme Kikou problème résolu en changeant le type de ma clé en numérique ! Merci

  8. kikou dit :

    J’ai résolut mon problème en changeant le type de ma clé en numérique. Et en utilisant le code sa marche très bien.
    Merci pour ce tuto et pour vos réponses!

  9. Hervé Inisan dit :

    kikou > En fait, l’erreur est plutôt dessous : poste tout le code VBA de cette procédure (le Sub / End Sub).

  10. kikou dit :

    Ce code là est souligné en jaune
    Private Sub btnApercu_Click()

  11. Hervé Inisan dit :

    kikou > Même question que pour Kris : quel est le code VBA qui pose problème ? ;)

  12. kikou dit :

    Bonsoir Hervé, moi j’ai le même problème que Kris, le message qui s’affiche me dit “erreur de compilation: erreur de syntaxe”. Il faut noter que dans le champs “nom du client” les noms sont aussi composés ou espacés et ma clé primaire est de type text.

  13. mel dit :

    Tres bonne idée. Merci

  14. Hervé Inisan dit :

    mel > Il faudrait que les enregistrements aient une date de création. Ensuite, une requête pour trier sur cette date de façon décroissante, et pour limiter le nombre d’enregistrements à 4.

  15. mel dit :

    Salu hervé et merci pour ce que vs faites, j’ai une question: comment peut on imprimer les 4 dernier enregistrement qu’on viens de faire ?

  16. Hervé Inisan dit :

    kris > Je vois le souci, et je vois d’où il vient (une erreur dans le code VBA probablement). Quel est le code VBA exact qui provoque l’erreur ?

  17. kris dit :

    Bonjour et merci de votre réponse.
    Cela fonctionne très bien avec un champs qui ne comporte pas d’espace ou de -.

    Si dans mon champs [Nom] il y a un – pour faire un nom composé, cela me demande d’entrer comme valeur de paramètre le 1er nom puis le 2ème nom.
    Ex : durand-denis, il me demande d’indiquer d’abord durand puis ensuite denis pour au final m’indiquer : propriété non trouvée.

    En revanche si mon champs est écrit avec un espace entre les deux noms ex: durand denis cela m’indique le problème énoncé plus haut :erreur de syntaxe (Opérateur absent) dans l’expression “[Nom]=durand denis”.

    Je ne sais pas si je suis clair dans mes explications !

  18. Hervé Inisan dit :

    Kris > Normalement, le nom du champ ne doit pas être un problème, si tu respectes la notation avec crochets. Les exemples donnés plus haut te donnent la syntaxe.

    Il peut éventuellement y avoir un problème à gérer si la valeur des champs (pas leur nom) peuvent contenir des apostrophes, qui servent de délimiteurs. Reposte ici si c’est le cas.

  19. Kris dit :

    Bonjour et merci pour ces conseils, tout fonctionne parfaitement sauf quand mon champs [nom] est un nom composé cela m’indique erreur de syntaxe (Opérateur absent) dans l’expression [Nom]=Nom composé”. S’il y a une solution je suis preneuse, sinon je changerai de champs ! Merci

  20. wally dit :

    ca marche à merveille, merci pour l’astuce

  21. schotfield dit :

    Grand merci à tout l’équipe pour cette aide car j’en ai coulé des sueurs chaudes et rien n’a marché.Je pense que cette fois sera la bonne.
    Encore merci

  22. Hervé Inisan dit :

    adel > Normalement, l’état devrait bien s’ouvrir par-dessus. Est-ce que le formulaire est lui-même particulier ? (genre : indépendant ou modal, ou les deux?)

  23. adel dit :

    Bonjour,

    Permettez-moi de vous poser une question dans ce sujet, comment ouvrir l’état en dessus du formulaire ouvert et non pas en dessous, par ce que dans ce cas l’état est ouvert filtré même mais derrière le formulaire, merci pour votre réponse.
    Salutations.

  24. adel dit :

    bonjour,

    je vous remercie infiniment, car ca fait des jours que je cherche cette options, ca fait plaisir, merci encore
    bien cordialement

  25. Walter dit :

    Je commence à programmer une base de données pour un suivi de production. La base de la base : imprimer une étiquette pour chaque produit, mais seulement au moment opportun (c’est à dire quand nous le recevons!). MERCI BEAUCOUP!

    Me reste plus qu’à trouver comment sélectionner l’imprimante et le format de page. Je crois avoir vu que vous en parlez ailleurs….

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">