Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/03/2011, 11h36   #1
Nouveau Membre du Club
 
Inscription : octobre 2009
Messages : 127
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 127
Points : 33
Points : 33
Par défaut Message document déjà imprimé

Bonjour à tous,

J'ai fait une recherche dans le FAQ et le forum sans trouver LA réponse c'est pourquoi je vous contacte.

J'aimerais savoir s'il est possible lors d'une impression d'état, d'avoir un message du genre "Ce document à déjà été imprimé. Confirmez-vous l'impression ?" de manière a ne pas imprimer 2 fois le même état ?

Peut-être avec un p'ti bout d'code en VBA ?

Merci pour vos infos...
maringot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 13h05   #2
Membre éclairé
 
Avatar de dok flint
 
Inscription : septembre 2003
Messages : 292
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : septembre 2003
Messages : 292
Points : 378
Points : 378
Bonjour ,
Je te propose une solution simple :
Tu va créer un champ supplémentaire dans la table sur la quelle est basé ton formulaire "Impression" avec en valeur par défaut 0 et tu le mets sur le formulaire en non visible.
Sur le bouton par le quel tu déclenche l'impression tu ajoute un petit code après le code de l'impression :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
If [impression].Value = 0 Then
 
    Dim stDocName As String
 
    stDocName = "Nom de ton etat"
    DoCmd.OpenReport stDocName, acNormal
    'Affectation valeur1 au champ impression
[impression].Value = 1
 
    Else
    If MsgBox("Cet etat est déja édité ,voulez vous une autre edition", vbYesNo, "Information") = vbYes Then
 
     stDocName = "Nom de ton etat"
    DoCmd.OpenReport stDocName, acNormal
End If
End If
 
End Sub
A+
__________________
Pourquoi faire compliqué quand on peut faire simple
Je suis encore en ACCESS 2003
dok flint est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/03/2011, 15h45   #3
Nouveau Membre du Club
 
Inscription : octobre 2009
Messages : 127
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 127
Points : 33
Points : 33
Bonjour dock flint,

Effectivement ce code à l'air sympa, mais je n'ai pas réussi à le faire fonctionner. Je m'explique, j'ai ajouter dans la table "intervention" le champ "impression".
Je l'ai ajouter dans le formulaire 'Fiche intervention" en non visible.
Dans le formulaire j'ai une case à cocher qui imprime l'état. La procédure événementielle sur clic est la suivante:
Code :
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
Private Sub Cocher100_Click()
On Error GoTo Err_Cocher100_Click
 
    Select Case Me.IDAnalytique
        Case "2"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "1"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "4"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "5"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "6"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "3"
        DoCmd.OpenReport "ETA-FICLIENT ENTRETIEN", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
 
Exit_Cocher100_Click:
    Exit Sub
 
Err_Cocher100_Click:
    MsgBox Err.Description
    Resume Exit_Cocher100_Click
 
End Select
 
End Sub
Après "End Select" j'ai essayé de mettre votre code. Lors du clic sur case à cocher, l'impression a été lancée, j'ai eu le message "cet état...", j'ai cliqué sur non mais ça n'a pas été pris en compte et ça m'a imprimé toutes mes fiches d'intervention (ce dernier point me semble normal puisque dans ma procédure il y a des critères d'impression).

Donc comment puis-je faire pour adapter votre code dans ma procédure ? Ou bien faut-il mettre votre code dans une autre procédure ?
maringot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/03/2011, 16h50   #4
Membre éclairé
 
Avatar de dok flint
 
Inscription : septembre 2003
Messages : 292
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : septembre 2003
Messages : 292
Points : 378
Points : 378
Bonjour ,
On va essayer ça :
Code :
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
Private Sub Cocher100_Click()
On Error GoTo Err_Cocher100_Click
 
If [impression].Value = 0 Then
    Select Case Me.IDAnalytique
        Case "2"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "1"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "4"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "5"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "6"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "3"
        DoCmd.OpenReport "ETA-FICLIENT ENTRETIEN", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
 End Select
 
'Affectation valeur1 au champ impression
[impression].Value = 1
 
    Else
    If MsgBox("Cet etat est déja édité ,voulez vous une autre edition", vbYesNo, "Information") = vbYes Then
 
    Select Case Me.IDAnalytique
        Case "2"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "1"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "4"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "5"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "6"
        DoCmd.OpenReport "ETA-FICLIENT", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
        Case "3"
        DoCmd.OpenReport "ETA-FICLIENT ENTRETIEN", acNormal, , "[IDFiche]='" & Me![IDFiche] & "'"
 
Exit_Cocher100_Click:
    Exit Sub
 
Err_Cocher100_Click:
    MsgBox Err.Description
    Resume Exit_Cocher100_Click
 
End Select
 End if
End if
End Sub
A+
__________________
Pourquoi faire compliqué quand on peut faire simple
Je suis encore en ACCESS 2003
dok flint est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 08h29   #5
Nouveau Membre du Club
 
Inscription : octobre 2009
Messages : 127
Détails du profil
Informations forums :
Inscription : octobre 2009
Messages : 127
Points : 33
Points : 33
Bonjour dok flint,

ça fonctionne très bien, merci beaucoup pour votre aide.

Cordialement,
Maringot
maringot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/03/2011, 12h30   #6
Membre éclairé
 
Avatar de dok flint
 
Inscription : septembre 2003
Messages : 292
Détails du profil
Informations personnelles :
Âge : 43

Informations forums :
Inscription : septembre 2003
Messages : 292
Points : 378
Points : 378
Bonjour ,
Bonne continuation et A+
__________________
Pourquoi faire compliqué quand on peut faire simple
Je suis encore en ACCESS 2003
dok flint est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h47.


 
 
 
 
Partenaires

Hébergement Web