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

IHM Discussion :

[A-07] Imprimer 1 état et pas tout le fichier


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 101
    Points : 60
    Points
    60
    Par défaut [A-07] Imprimer 1 état et pas tout le fichier
    Access2007
    Bonjour
    J’ai un Formulaire Fm avec sous-formulaire SFm (correspondant à une facture et ses lignes).
    Lorsque j’ai rempli la facture (formulaire et sous-formulaire) je veux l’imprimer.
    J’ai donc créé un état pour cela : Ea_fact

    Sur le formulaire j’ai un bouton à cliquer BP pour passer du formulaire à l’état et imprimer. sur clique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DoCmd.OpenReport Ea_Fact, acViewPreview
    DoCmd.GoToRecord acDataForm, Fm, acLast
    Ca ne marche pas ! une fenêtre s’ouvre : erreur 2497. L’action ou la méthode requiert un argument Nom état.

    le code est refusé et s’inscrit en surligné jaune. ( en mettant le curseur sur Ea_Fact, je lis Ea_Fact = vide)

    J’ai essayé en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.GoToRecord acDataForm, Fm, acLast
    En évènement à l’ouverture de l’état … niet

    Le résultat : si je lance l’impression, c’est tout le fichier facture qui s’imprime et non la dernière créée !!

    J’ai une piste mais …??!!! .... le numéro de série de la facture est conservé donc avec un filtre …mais je ne sais pas exploiter la piste … et en plus ce n'est peut-être pas la bonne!

    Merci pour vos lumières!

  2. #2
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    Il faut utiliser la clause WHERE de la commande docmd.openreport

    La te montre un exemple avec deux formulaires. Le principe dans ton cas est identique : Comment ouvrir un formulaire en fonction d'une valeur contenue dans un autre formulaire ?

    A+

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 101
    Points : 60
    Points
    60
    Par défaut
    je crois que mon cas est un peu différent ! je veux sortir du formulaire et imprimer l'état avec le dernier enregistrement du formulaire (l'enregistrement que je suis en train de remplir). Actuellement lorsque je veux imprimer l'enregistremetn en cours, je passe sur l'état et tous les enregistrements...
    Tu penses que ça peut s'appliquer tout de même ??? je ne vois pas la méthode

  4. #4
    Membre émérite
    Homme Profil pro
    tripatouilleur de code pour améliorer mon quotidien boulistique
    Inscrit en
    Février 2008
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : tripatouilleur de code pour améliorer mon quotidien boulistique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2008
    Messages : 939
    Points : 2 287
    Points
    2 287
    Par défaut
    Bonjour à tous


    Je crois qu'on a bien compris ton souci, mais fais confiance à Gabout, il t'a mis sur la voie.

    Es-tu sûr que la fonction "GotoRecord" fonctionne avec les Etats?

    En utilisant la clause WHERE, il te faut transférer la valeur du numéro de l'enregistremenet que tu veux afficher / imprimer.
    Le mieux est de le faire au moyen d'une variable.

    du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Dim MaVariable
     
    MaVariable = MonControle.Value
     
    DoCmd.OpenReport Ea_Fact, acViewPreview,,"ID_Fact= " & '"MaVariable"'
    Je sais que vous allez me dire : comment récupérer le dernier enregistrement de facture?

    Il y a possibilité dans VBA, que je ne maîtrise pas assez.
    Mais je pense que plus que la dernière facture, vous voulez imprimer la facture que vous venez de taper.
    Donc, essayer dans cette voie.

    Pierre

  5. #5
    Membre expérimenté Avatar de Gabout
    Homme Profil pro
    Utilisateur autodidacte
    Inscrit en
    Mai 2006
    Messages
    1 404
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Utilisateur autodidacte

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 404
    Points : 1 683
    Points
    1 683
    Par défaut
    Bonjour,

    Tu penses que ça peut s'appliquer tout de même ???
    As-tu essayé ?

Discussions similaires

  1. [AC-2010] Imprimer un état et non toute la base de données
    Par Martintin dans le forum IHM
    Réponses: 1
    Dernier message: 17/01/2011, 06h31
  2. Fread ne lit pas tout le fichier
    Par jules_diedhiou dans le forum Langage
    Réponses: 1
    Dernier message: 15/07/2010, 14h49
  3. SQL Loader (ne charge pas tout mon fichier)
    Par ticed1979 dans le forum SQL*Loader
    Réponses: 2
    Dernier message: 19/08/2008, 08h33
  4. [Système] fonction file() renvoit pas tout le fichier
    Par Oprichnik dans le forum Langage
    Réponses: 7
    Dernier message: 02/10/2006, 17h00
  5. Réponses: 9
    Dernier message: 11/05/2006, 23h04

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