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 & Etat selectionné


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 37
    Points
    37
    Par défaut Impression & Etat selectionné
    Bonjour,

    J'ai récupéré une base de donnée où un formulaire permet d'imprimer des parties d'un document (12 en tout) à l'aide de case d'option. Chaque case d'option correspond à un Etat. Une seule case peut etre coché. On me demande d'ajouter une option pour imprimer toutes les parties d'un coup. J'ai essayé de créer un nouvel état, mais j'ai des bugs dans tous les sens. N'y aurait il pas un moyen de faire appel aux autres Etats ?

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Si j'ai bien compris, tu veux pouvoir imprimer plusieurs Etats, au lieu d'un actuellement.

    Si c'est le cas, voici une idée pour résoudre ton poblème.

    Le fait que tu ne peux sélectionner qu'un bouton à la fois, c'est que ceci font partie d'un Group d'Option. Pour éviter ceci, il faut :

    1 - Créer sur ton formulaire (et pas dans un groupe d'option) des Cases à cocher, lorsque ces cases sont cochées elles ont la propriété value à True.

    2 - Ensuite tu crées un bouton, sur le click de ce bouton tu mets une succession de IF, de tel maniére à tester chaque ChekBox, si sa valeur est égale à true (donc case cochée), tu imprimes.

    Essaye de faire la manipulation que je t'ai donné, et du code, si tu as des soucis revient nous voir.

    Starec

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 37
    Points
    37
    Par défaut
    En fait , y a aussi un bouton aperçu qui existe , j'ai un peu peur que ta technique ne fonctionne pas pour le bouton aperçu non ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par irons
    En fait , y a aussi un bouton aperçu qui existe , j'ai un peu peur que ta technique ne fonctionne pas pour le bouton aperçu non ?
    Re,

    Si, c'est le même principe, que tu fasses un aperçu ou une impression, le principe est d'interroger ta cases à cocher.

    Starec

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 37
    Points
    37
    Par défaut
    Y a quelque chose qui m'arrange pas en fait :

    Y a quand même 13 cases à cocher si tu veux imprimer, ça va vite saouler l'utilisateur
    J'ai rajouté une case qui imprime tout seulement
    Voila mon code actuel :
    ps : le cas 13 est mon nouveau cas et je sais pas du tout si on peut faier ça
    Ma fonction lorsqu'on appuie sur le bouton aperçu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    Private Function ImprimerAperçu(ModeImpression As String)
    On Error GoTo Err_Bouton_Imprimer_Click
        DoCmd.OpenReport NomEtat(), acViewPreview, , ConditionOffre()
        DoCmd.SelectObject acReport, NomEtat()
        DoCmd.Maximize
     
        If Me.EtatSélectionné = 1 Then
            DoCmd.RunCommand acCmdPreviewFourPages
     
        ElseIf Me.EtatSélectionné = 10 Or Me.EtatSélectionné = 12 Then
            DoCmd.RunCommand acCmdPreviewTwoPages
        ElseIf Me.EtatSélectionné = 11 Then
            DoCmd.RunCommand acCmdFitToWindow
        Else
            EnTete
            DoCmd.RunCommand acCmdFitToWindow
        End If
     
    Select Case ModeImpression
     
    Case "ChoixImprimante"
        DoCmd.RepaintObject acReport, NomEtat()
        DoCmd.RunCommand acCmdPrint
     
    Case "QuickPrint"
        DoCmd.RepaintObject acReport, NomEtat()
        DoCmd.RunCommand acCmdQuickPrint
     
    End Select
     
    Exit_Bouton_Imprimer_Click:
        Exit Function
    Err_Bouton_Imprimer_Click:
        Resume Exit_Bouton_Imprimer_Click
     
    End Function
    Ma fonction NomEtat()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    Private Function NomEtat() As String
     
    On Error GoTo Sortie
     
    Select Case Me.EtatSélectionné
     
    Case 1
        NomEtat = "E-Proposition technique-Offre"
    Case 2
        NomEtat = "E-Aire de manoeuvres des semi-remorques"
    Case 3
     
        If Me.Index_produit.Column(3) = "LOX" Then
            NomEtat = "E-Distances de sécurité LOX"
        ElseIf Me.Index_produit.Column(3) = "LIN" Or Me.Index_produit.Column(3) = "LAR" Then
            NomEtat = "E-Distances de sécurité LIN LAR"
        Else
     
        End If
    Case 4
        NomEtat = "E-Réservoirs-Fiche technique"
    Case 5
        NomEtat = "E-Diagrammes réservoirs"
    Case 6
        NomEtat = "E-Vaporiseurs-Fiche technique"
    Case 7
        NomEtat = "E-Vaporiseurs-Fiche technique"
    Case 8
        NomEtat = "E-Dalles-Plan"
    Case 9
        NomEtat = "E-PID"
    Case 10
        NomEtat = "E-Proposition technique-Spécifications"
    Case 11
     
        If Me.Index_produit.Column(3) = "LIN" Then
            NomEtat = "E-Fiche de sécurité LIN"
        ElseIf Me.Index_produit.Column(3) = "LOX" Then
            NomEtat = "E-Fiche de sécurité LOX"
        ElseIf Me.Index_produit.Column(3) = "LAR" Then
            NomEtat = "E-Fiche de sécurité LAR"
        Else
     
        End If
    Case 12
        NomEtat = "E-Réglementation/Déclaration LOX"
     
    Case 13
        Msgbox "En cours"
    Case Else
        NomEtat = ""
    End Select
     
    Sortie:
    Exit Function
    End Function
    La fonction condition offre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    Private Function ConditionOffre() As String
     
    On Error GoTo Sortie
     
    ConditionOffre = ""
     
    Select Case Me.EtatSélectionné
     
    Case 1
        ConditionOffre = "[Index Proposition technique] = " & Me.Index_Proposition_technique
    Case 2
        ConditionOffre = ""
    Case 3
        ConditionOffre = ""
    Case 4
        ConditionOffre = "[Index réservoir] = " & Me.Index_réservoir
    Case 5
        ConditionOffre = "[Index Rep Diagrammes] = " & DéterminationDiagramme(Me.Taille, Me.Vaporisation, Me.Index_réservoir.Column(6))
        'ConditionOffre = "[Index Rep Diagrammes] = " & Me.Taille
    Case 6
        ConditionOffre = "[Type] = 'AVPM'"
    Case 7
        ConditionOffre = "[Type] = '" & Me.Type_de_vaporiseur & "'"
    Case 8
        ConditionOffre = "[Réservoir] = '" & Me.Taille & "' AND [Vaporiseur] = '" & IIf(Me.Vaporisation = "Cryo", "Cryo", Me.Type_de_vaporiseur) & "' AND [Nombre de vaporiseurs] = " & Me.Nombre_de_vaporiseurs
    Case 9
        ConditionOffre = "[Vaporisation] = '" & Me.Vaporisation & "' AND [Nombre de vaporiseurs] = " & Me.Nombre_de_vaporiseurs
    Case 10
        ConditionOffre = "[Index Proposition technique] = " & Me.Index_Proposition_technique
    Case 11
        ConditionOffre = ""
    Case 12
        ConditionOffre = "[Index Proposition technique] = " & Me.Index_Proposition_technique
    Case 13
        ConditionOffre = "[Index Proposition technique] = '" & Me.Index_Proposition_technique & "' AND [Index réservoir] = '" & Me.Index_réservoir & "' AND [Index Rep Diagrammes] = '" & DéterminationDiagramme(Me.Taille, Me.Vaporisation, Me.Index_réservoir.Column(6)) & "' [Type] = '" & Me.Type_de_vaporiseur & "' AND [Réservoir] = '" & Me.Taille & "' AND [Vaporiseur] = '" & IIf(Me.Vaporisation = "Cryo", "Cryo", Me.Type_de_vaporiseur) & "' AND [Vaporisation] = '" & Me.Vaporisation & "' AND [Index Proposition technique] = '" & Me.Index_Proposition_technique & "'"
    End Select
     
    Sortie:
    Exit Function
    End Function
    Le problème est au niveau du cas 13 de NomEtat et condition, je ne vois pas du tout comment faire.. tu aurais une idée ?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 37
    Points
    37
    Par défaut
    Starec?
    Tu m'abandonnes?
    Aucune idée?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Je ne t'abandonne pas, mais je ne suis pas le seul qui puisse te répondre (de plus je te rappel que je suis bénvole comme tout le monde).

    Je pense que tu n'a pas suivi ce que je t'ai dis et que tu sois resté sur ta première solution.

    Je t'ai dit que sur ton bouton aperçu tu lances une routine qui interroge tes cases à cocher selon le principe suivant :

    Si la case à cocher 1 est activée alors cela correspond à l'état X, je le mets en aperçu.

    Si la case à cocher 2 est activée alors cela correspond à l'état Y, je le mets en aperçu.

    et ainsi de suite.

    Starec

  8. #8
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 37
    Points
    37
    Par défaut
    Bonjour,

    Il me semble que c'est ce que j'ai fait..
    J'ai fait un switch case de Me.EtatSéléctionné.
    Je ne peux pas me permettre à ce que l'utilisateur coche toutes les cases, ça en fait 12 au total, ça va vite l'ennuyer, surtout que l'option "tout imprimer" sera la plus fréquente.

    J'ai donc rajouté une 13e case à cocher, le problème est que je ne voie pas comment je peux appeler tous mes états.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par irons
    Bonjour,

    Il me semble que c'est ce que j'ai fait..
    J'ai fait un switch case de Me.EtatSéléctionné.
    Je ne peux pas me permettre à ce que l'utilisateur coche toutes les cases, ça en fait 12 au total, ça va vite l'ennuyer, surtout que l'option "tout imprimer" sera la plus fréquente.

    J'ai donc rajouté une 13e case à cocher, le problème est que je ne voie pas comment je peux appeler tous mes états.
    Si j'ai bien compris, ta 13 éme case serait pour tout imprimer ?

    Si c'est le cas, dans la suite de ce que je t'ai donné, si celle-ci est coché, tu imprimes tout.

    Il ne faut pas faire un select case, car toutes tes cases sont indépendantes, il faut faire une suite de If.

    Starec

  10. #10
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 37
    Points
    37
    Par défaut
    Ma question est donc : Comment ?
    Quand une case autre que la 13e (qui correspond en effet à tout imprimer) est cochée, cela fait appel à un Etat déjà créé. Je ne peux pas faire appel à tous les Etats, sinon cela prendra que la derniere valeur de NomEtat non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    if(Me.Etatsélectionné= 13)
        'NomEtat = "E-Impression - générale"
        'NomEtat = "E-Réservoirs-Fiche technique" And "E-Aire de manoeuvres des semi-remorques"
        NomEtat = "E-Proposition technique-Offre"
        NomEtat = "E-Aire de manoeuvres des semi-remorques"
        If Me.Index_produit.Column(3) = "LOX" Then
            NomEtat = "E-Distances de sécurité LOX"
        ElseIf Me.Index_produit.Column(3) = "LIN" Or Me.Index_produit.Column(3) = "LAR" Then
            NomEtat = "E-Distances de sécurité LIN LAR"
        Else
     
        End If
        NomEtat = "E-Réservoirs-Fiche technique"
        NomEtat = "E-Diagrammes réservoirs"
        NomEtat = "E-Proposition technique-Spécifications"
        If Me.Index_produit.Column(3) = "LIN" Then
            NomEtat = "E-Fiche de sécurité LIN"
        ElseIf Me.Index_produit.Column(3) = "LOX" Then
            NomEtat = "E-Fiche de sécurité LOX"
        ElseIf Me.Index_produit.Column(3) = "LAR" Then
            NomEtat = "E-Fiche de sécurité LAR"
        Else
     
        End If
        NomEtat = "E-Réglementation/Déclaration LOX"
    End If
    je viens de tester ce code, et ça n'imprime que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     NomEtat = "E-Réglementation/Déclaration LOX"

  11. #11
    Nouveau membre du Club
    Inscrit en
    Février 2006
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 68
    Points : 37
    Points
    37
    Par défaut
    Je pense que je pourrais résoudre mon problème si j'arrivais à savoir comment appeler plusieurs états dans la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        DoCmd.OpenReport NomEtat(), acViewPreview,  ConditionOffre()
        DoCmd.SelectObject acReport, NomEtat()
        DoCmd.Maximize
    NomEtat() ne renvoie qu'une valeur, mais peut etre qu'il y a moyen de l'appeler plusieurs fois ou de mettre directement la valeur, mais comment je pourrais faire ça ?
    edit : Bon, il suffit de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DoCmd.OpenReport NomEtat(), acViewPreview,  ConditionOffre()
    Autant de fois qu'il y a d'etat, seulement cela m'ouvre les 12 Etats dans 12 pages diffèrentes, il n'y a aucun moyen de mettre les 12 Etats dans une seule page?

Discussions similaires

  1. Impression d'Etat dans un menu
    Par Hellx dans le forum IHM
    Réponses: 4
    Dernier message: 09/03/2007, 11h51
  2. Impression d'etat avec annulation d'action possible
    Par Alexandre Sahli dans le forum IHM
    Réponses: 7
    Dernier message: 08/02/2007, 15h27
  3. [WinDev 9] Saut de page RTF pour impression dans Etat
    Par Romanops dans le forum WinDev
    Réponses: 9
    Dernier message: 07/12/2006, 12h08
  4. Réponses: 7
    Dernier message: 28/09/2006, 16h03
  5. pb de scintillement à l'impression d'etat
    Par janipas dans le forum Access
    Réponses: 1
    Dernier message: 08/11/2005, 14h30

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