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 :

Imprimer un état en choississant l'imprimante [AC-2003]


Sujet :

IHM

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut Imprimer un état en choississant l'imprimante
    BOnjour,

    Je dispose d'un formulaire possédant un sous-formulaire affichant des données graphiques.
    je chercher à imprimer les données graphiques affichées dans le sous formulaire en laissant à l'utilisateur le choix de l'imprimante en destination.

    J'ai donc crée un état à partir du sous formulaire et crée un menu contextuel avec deux options, "Mise en page" et "Imprimer".

    Mise en page ne permet pas de sélectionner une imprimante.
    Imprimer imprime directement.

    1) Est-ce possible d'afficher la boite de dialogue Windows "Imprimer" en cliquant sur la fonction Imprimer du menu contextuel ?

    2) J'ai vu que l'on pouvait ajouter une option "Personnalisé" dans le menu contextuel: Comment lui affecter du code spécifique ?

    Merci d'avance.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut
    Bon finalement j'ai vu comment associer du code à une option personnalisée d'un menu contextuel. En associant le code ci-dessous à ma commande Imprimer "Perso" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunCommand acCmdPrint
    J'obtiens bien le résultat voulu (boite de dialogue). C'est fonctionnel !

    Une question subsidiaire :

    Dans l'idéal, j'aurai souhaité que cette boite de dialogue apparaisse de suite, dés que l'état est affiché.

    Comment faire ?

  3. #3
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bonjour,

    Qu'est ce qui t'empêche d'exécuter les deux commandes l'une à la suite de l'autre...

    Maintenant, si tu souhaite imprimer directement..:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "NomEtat", acViewNormal
    ....sans oublier de gérer le message d'erreur en cas d'annulation de l'impression.
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    610
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 610
    Points : 213
    Points
    213
    Par défaut
    J'ai tenté de mettre à l'ouverture de l'état, fonction Report_Open(), la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunCommand acCmdPrint
    Mais l'état ne s'affiche pas, j'ai directement la boite de dialogue d'impression qui s'affiche et ensuite un message d'erreur.

  5. #5
    Membre expert
    Avatar de FreeAccess
    Homme Profil pro
    Un monde ou prendre est plus facile qu'apprendre.
    Inscrit en
    Mars 2006
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Un monde ou prendre est plus facile qu'apprendre.

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 745
    Points : 3 834
    Points
    3 834
    Par défaut
    Bon, on va tout reprendre dans l'ordre.....

    Tu as un bouton de commande à partir duquel tu souhaite:
    1)- Ouvrir un formulaire un mode prévisualisation.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "NomEtat", acViewPreview
    2)- Lancer directement la boîte de dialogue d'impression
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.RunCommand acCmdPrint
    ....si tu utilise cet enchainement de code, plusieurs "erreurs" vont survenir...

    ton état ne sera pas totalement affiché (pas de données visibles), par contre la boîte de dialogue s'ouvre bien en même temps.

    si tu annule l'impression de l'état, alors tu obtiens un beau message d'erreur (L'action RunCommand a été annulée)

    Résolution possible du problème:

    a) il faut laisser le temps à l'état de se charger complétement (utilisation de DoEvents)
    b) il faut gérer le message d'erreur en cas d'annulation de l'impression ( ici je te renvoie à la solution que je t'avais suggérée Ouvrir boite de dialogue imprimer)

    ....et tout cela cumuler donne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Commande0_Click()
    'J'ouvre mon état
    DoCmd.OpenReport "NomEtat", acViewPreview
    DoEvents
    'J'exécute la fonction 'Imprimer'
    Imprimer
    End Sub
    ...a tester
    FreeAccess
    "Petit à petit l'araignée tisse sa toile"

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/09/2009, 00h12
  2. Imprimer un état dans une imprimante Fichier
    Par olaf_le_preux dans le forum VBA Access
    Réponses: 1
    Dernier message: 05/12/2008, 19h58
  3. Réponses: 1
    Dernier message: 29/08/2007, 15h18
  4. Réponses: 3
    Dernier message: 19/07/2007, 13h42
  5. [CR][Java] imprimer un état CR avec java
    Par wassimb dans le forum SDK
    Réponses: 2
    Dernier message: 24/05/2004, 16h40

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