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 :

[Impression] Comment imprimer une page d'un état à partir d'un formulaire?


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Points : 60
    Points
    60
    Par défaut [Impression] Comment imprimer une page d'un état à partir d'un formulaire?
    Bonjour à tous,

    Je reviens avec une question que je n'arrive pas à résoudre depuis quelques jours (et je m'arrache les cheveux).

    Problème:

    Mes utilisateurs peuvent valider des enregistrements sous access (jusque là normal)
    Cet engistrement fait l'objet d'un état (environ quelques centaines de pages)

    Je veux imprimer cet unique enregistrement (définit par formulaire) sous le format défini par mon état.


    Autrement dit:

    1. 1- Compléter un enregistrement
    2. 2- Le valider
    3. 3- L'imprimer


    Résultat souhaité: "Formulaire" => Design & information sous "Etat"
    Imprimer cet unique n°enregistrement sous le format défini par mon état

    Merci de votre contribution,

  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,

    Quelle est LA question ?

    S'il s'agit d'imprimer un état basé sur un enregistrement de ton formulaire, tu ouvres ton état à partir (par exemple) d'un bouton et tu sélectionnes le bon enregistrement avec une condition WHERE.

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Points : 60
    Points
    60
    Par défaut
    LA question serait :

    Comment imprimer une page d'un état à partir d'un formulaire?

    Tu me fournis l'inverse ... Je souhaite me faciliter la vie...

    Pour faire simple, c'est un bouton commande qui :

    - Ouvre Etat
    - ET l'ouvre à la page de l'enregistrement (si n° enregistrement = 100, n° page état = 100)

    Suite de la procédure :

    - Si l'état est satisfaisant, alors la personne peut imprimer la page en question.


    Or je ne sais pas faire ... ... pour l'instant.

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

    C'est ce que je te proposais... exemple sur clic d'un bouton

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "TonEtat", acPreview, , "[IdentifiantEtat]=" & Me.IdentifiantFormulaire
    la partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "[IdentifiantEtat]=" & Me.IdentifiantFormulaire
    correspondant à la condition WHERE d'ouverture de l'état.

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Points : 60
    Points
    60
    Par défaut
    Tu es extra!

    Merci beaucoup! Bon, il va sérieusement falloir que je me mets à VB ^^'

    Je propose ton code à mettre à la FAQ!

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 104
    Points : 56
    Points
    56
    Par défaut demande d'une petite précision
    bonjour, voila je viens de lire votre conversation et j'ai exactement ce problème et j'ai essayer de suivre vos indication mais je n'est aucune connaissance de VBA
    j'ai coller vos code la ou vous l'indiquer mais quand je clique sur mon bouton ce la me demande de remplir dans une boite de dialogue "Me.identifiantformulaire"?? que cela signifie til que dois je faire???

    je suppose en faite que "identifianteformulaire" et "Tonétat" correspondent aux noms des formulaires et des états de notre base???
    Si cela et le cas moi les deux ont le même nom sinn je ne pouvais pas enregistrer mon formulaire en état!! enfin je sais pa si vous voyer bien ce que je veux dire!!


    merci d'avance pour vos réponse

    jennifer

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

    Ce n'est pas tant le nom du formulaire ou de l'état qui compte, mais le nom du contrôle de ton état sur lequel se fait le choix de l'enregistrement à imprimer.
    Ou alors, utiliser l'identificateur complet de chaque contrôle.

    Le principe est le suivant.

    Je suis dans mon formulaire sur l'enregistrement que je souhaite imprimer. L'identifiant de cet enregistrement est ID_Enr_Formulaire (J'ai cru comprendre qu'il fallait inclure cet ID dans le formulaire, même si on ne s'en sert pas, même s'il faut qu'il soit non visible. A confirmer).


    Ensuite, on va ouvrir l'état en passant l'argument ID_Enr_Formulaire, c'est à dire en indiquant à Access qu'il ouvre l'état sur l'enregistrement correspondant à ID_Enr_Formulaire. C'est ce qu'on appelle la "clause WHERE"

    Dit autrement, si on a ID_Enr_Etat qui est le numéro de l'enregistrement dont je veux imprimer l'état, il faut indiquer à l'ouverture de l'état que

    "ID_Enr_Etat" est égale à "ID_Enr_Formulaire".

    Pour ce faire on créer un bouton, et sur l'évenement "Sur click", on met dans le code la commande

    DoCmd.OpenReport
    Quelques petites indications.
    Pour récupérer l'ID_Enr_Formulaire, il semblerait qu'il soit plus intéressant de passer par l'identificateur complet :

    Forms![Nom du formulaire]![Nom du contrôle].valueD'autre part, pour indiquer la relation entre ID_Enr_Etat et ID_Enr_Formulaire, il faut utiliser une syntaxe un paut particulière.

    J'ai cru comprendre que le contenu de la Clause WHERE doit être une chaîne de caractères. Il faut donc mettre des guillements dans le premier terme (ID_Enr_Etat) incluant un "=". Puis concaténer (avec "&") la valeur recherchée, trouvée dans ID_Enr_Formulaire.

    D'où une commande comme celle ci :

    DoCmd.OpenReport Nom_E, acViewPreview, , " ID_Support_E = " & Num

    Dans laquelle "Non_E" contient le nom de mon état (on doit pouvoir s'en passer et indiquer directement le nom de l'état, mais sans oublier les majuscules;
    " ID_Support_E =" est le premier terme de mon égalité. A signaler que dans mon cas, c'est un contrôle texte qui contient l'ID_Enr_Etat. Pour que ça marche j'ai du indiquer la source du contrôle et non le nom du contrôle.
    Num est la variable qui contient l'ID_Enr_Formulaire.

    En espérant vous avoir aidé.

    Si ce n'est pas assez clair, éventuellement messagerie privée.

    Pierre

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2008
    Messages : 36
    Points : 19
    Points
    19
    Par défaut
    rebonjour,

    moi aussi j'ai un probleme et c'est vraiment dur de ne pas s'y connaitre en VB...

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2008
    Messages : 36
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par pier.antoine Voir le message

    Dans laquelle "Non_E" contient le nom de mon état (on doit pouvoir s'en passer et indiquer directement le nom de l'état, mais sans oublier les majuscules;
    " ID_Support_E =" est le premier terme de mon égalité. A signaler que dans mon cas, c'est un contrôle texte qui contient l'ID_Enr_Etat. Pour que ça marche j'ai du indiquer la source du contrôle et non le nom du contrôle.
    Num est la variable qui contient l'ID_Enr_Formulaire.
    Salut,

    je t'ai envoyé un MP , j'ai du mal a comprendre ce qu'est " ID_Support_E ="
    En effet j'arrive a ouvrir mon Etat en cliquant sur le bouton , mais les champs sont vides ou remplis de facon erronés....
    Peux tu me donner plus d'infos ?

    Merci

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

Discussions similaires

  1. Comment imprimer une page large ?
    Par shenron42 dans le forum Webdesign & Ergonomie
    Réponses: 2
    Dernier message: 14/06/2011, 19h01
  2. [Toutes versions] Imprimer une page d'un état
    Par amerex dans le forum VBA Access
    Réponses: 4
    Dernier message: 24/02/2010, 14h17
  3. Comment imprimer une page A3
    Par peace to you dans le forum VB.NET
    Réponses: 0
    Dernier message: 12/01/2010, 15h05
  4. Réponses: 6
    Dernier message: 24/09/2008, 17h09
  5. Réponses: 8
    Dernier message: 31/07/2006, 12h52

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