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 28/03/2011, 19h05   #1
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
Par défaut Actualiser un bouton de commande

Bonjour,

J'ai un problème d'actualisation d'un formulaire pour un bouton de commande.
J'ai un champ User et un bouton de commande est associé à ce champ (par rapport aux utilisateurs). La raison c'est que ce bouton lance un fichier différent pour chaque utilisateur ... J'ai donc crée un bouton par utilisateur.
Selon que c'est tel ou tel utilisateur, j'ai tel ou tel bouton de commande.
Lorsque je choisis un user, il faut que je change d'enregistrement pour que mon bouton de commande soit visible.
Comment actualiser de manière à ce qu'il soit visible sur l'enregistrement que je viens de crée ?

Merci
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/03/2011, 19h29   #2
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 462
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 462
Points : 7 539
Points : 7 539
Essaye en ajoutant aus instruction liées au choix de l'utilisateur.

ou Si cela ne marche pas, poste une copie d'écran de ce que tu as et ce que tu souhaites obtenir.

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2011, 10h18   #3
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
bonjour

Voici en image avant et après

Sur le champ "Select the entity !" j'ai mis ce code sur l'évènement aprèsmiseajour :
Code :
1
2
3
    If IsNull(Me.Employee.Value) Or Me.Employee.Value = "" Then
         Me.Employee.Value = Environ("UserName")
End If
Le bouton de commande est l'icone Word et apparait que c'est tel ou tel User (champ Employee). J'ai joué avec Visible pour l'affichage.

Et donc j'aimerais que le bouton Word apparaisse sur l'enregistrement encours et non pas quand je change d'enregistrement et que je reviens dessus
Images attachées
Type de fichier : jpg Before.JPG (102,2 Ko, 7 affichages)
Type de fichier : jpg After.JPG (101,1 Ko, 6 affichages)
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 14h55   #4
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 462
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 462
Points : 7 539
Points : 7 539
Peux-tu poster le code qui gère l'affichage du bouton ?

Le bouton est-il dans la zone détail ou la zone pied de formulaire ?

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 16h32   #5
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
Voici une partie du code sur activation de mon formulaire :

Code :
1
2
3
4
5
If Me.Employee = "TM14LD" And Language = "NL" Then
        Me.cmExportWordnltm14ld.Visible = True
    Else
        Me.cmExportWordnltm14ld.Visible = False
End If
Cette partie de code a été appliqué pour chaque utilisateur.

Le bouton de trouve dans mon pied de formulaire.

Merci
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 17h49   #6
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 462
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 462
Points : 7 539
Points : 7 539
Pourais-tu mettre l'ensemble du code que tu utilises pour changer ton bouton. Notement ce qui entoure les dernières lignes que tu as poster.

Je viens de faire un test avce un petit formulaire et cela fonctionne immédiatement, dès que je demande de rendre le bouton invisible il disparait et vice-versa.

As-tu vérifié que ton code de disparition est bien exécuter lors du changement qui est supposé le déclencher ?

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2011, 19h01   #7
Débutant
 
Inscription : octobre 2004
Messages : 432
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 432
Points : 93
Points : 93
Il est long ...

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
Private Sub Form_Current()
    If Me.Employee = Me.User Then
        Me.AllowEdits = True
    Else
        Me.AllowEdits = False
    End If
    If Me.Employee = "TM14LD" And Language = "NL" Then
        Me.cmExportWordnltm14ld.Visible = True
    Else
        Me.cmExportWordnltm14ld.Visible = False
    End If
    If Me.Employee = "TM14LD" And Language = "FR" Then
        Me.cmExportWordfrtm14ld.Visible = True
    Else
        Me.cmExportWordfrtm14ld.Visible = False
    End If
    If Me.Employee = "BL54XR" And Language = "NL" Then
        Me.cmExportWordnlbl54xr.Visible = True
    Else
        Me.cmExportWordnlbl54xr.Visible = False
    End If
    If Me.Employee = "BL54XR" And Language = "FR" Then
        Me.cmExportWordfrbl54xr.Visible = True
    Else
        Me.cmExportWordfrbl54xr.Visible = False
    End If
        If Me.Employee = "ZX33NQ" And Language = "NL" Then
        Me.cmExportWordnlzx33nq.Visible = True
    Else
        Me.cmExportWordnlzx33nq.Visible = False
    End If
    If Me.Employee = "ZX33NQ" And Language = "FR" Then
        Me.cmExportWordfrzx33nq.Visible = True
    Else
        Me.cmExportWordfrzx33nq.Visible = False
    End If
    If Me.Employee = "QQ27QU" And Language = "NL" Then
        Me.cmExportWordnlqq27qu.Visible = True
    Else
        Me.cmExportWordnlqq27qu.Visible = False
    End If
    If Me.Employee = "QQ27QU" And Language = "FR" Then
        Me.cmExportWordfrqq27qu.Visible = True
    Else
        Me.cmExportWordfrqq27qu.Visible = False
    End If
    If Me.Employee = "DS35ML" And Language = "NL" Then
        Me.cmExportWordnlds35ml.Visible = True
    Else
        Me.cmExportWordnlds35ml.Visible = False
    End If
    If Me.Employee = "DS35ML" And Language = "FR" Then
        Me.cmExportWordfrds35ml.Visible = True
    Else
        Me.cmExportWordfrds35ml.Visible = False
    End If
    If Me.Employee = "NS74TR" And Language = "NL" Then
        Me.cmExportWordnlns74tr.Visible = True
    Else
        Me.cmExportWordnlns74tr.Visible = False
    End If
    If Me.Employee = "NS74TR" And Language = "FR" Then
        Me.cmExportWordfrns74tr.Visible = True
    Else
        Me.cmExportWordfrns74tr.Visible = False
    End If
    If Me.Employee = "HK27ZI" And Language = "NL" Then
        Me.cmExportWordnlhk27zi.Visible = True
    Else
        Me.cmExportWordnlhk27zi.Visible = False
    End If
    If Me.Employee = "HK27ZI" And Language = "FR" Then
        Me.cmExportWordfrhk27zi.Visible = True
    Else
        Me.cmExportWordfrhk27zi.Visible = False
    End If
    If Me.Employee = "PT31KY" And Language = "NL" Then
        Me.cmExportWordnlpt31ky.Visible = True
    Else
        Me.cmExportWordnlpt31ky.Visible = False
    End If
    If Me.Employee = "PT31KY" And Language = "FR" Then
        Me.cmExportWordfrpt31ky.Visible = True
    Else
        Me.cmExportWordfrpt31ky.Visible = False
    End If
    If Me.Employee = "KL15FA" And Language = "NL" Then
        Me.cmExportWordnlkl15fa.Visible = True
    Else
        Me.cmExportWordnlkl15fa.Visible = False
    End If
    If Me.Employee = "KL15FA" And Language = "FR" Then
        Me.cmExportWordfrkl15fa.Visible = True
    Else
        Me.cmExportWordfrkl15fa.Visible = False
    End If
    If Me.Employee = "EK31ZF" And Language = "NL" Then
        Me.cmExportWordnlek31zf.Visible = True
    Else
        Me.cmExportWordnlek31zf.Visible = False
    End If
    If Me.Employee = "EK31ZF" And Language = "FR" Then
        Me.cmExportWordfrek31zf.Visible = True
    Else
        Me.cmExportWordfrek31zf.Visible = False
    End If
End Sub
lucas-18 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2011, 18h49   #8
Modérateur
 
Homme René MAROT
Inscription : octobre 2005
Messages : 5 462
Détails du profil
Informations personnelles :
Nom : Homme René MAROT
Localisation : Canada

Informations forums :
Inscription : octobre 2005
Messages : 5 462
Points : 7 539
Points : 7 539
Ok, ton code ne s'exécute que quand tu changes d'enregistrement.

Ce qu'il faut faire c'est appeler ce code quand la données qui doit faire apparaitre ou disparaitre ton bouton change.

Un truc du genre :

Code :
1
2
3
4
private TonChampDonnee_AfterUpdate
    call Form_Current()
    'Ici autre instructions utiles
end sub
Tu pourrais surement simplfier en utilisant des ORs

Code :
1
2
3
4
5
    If (Me.Employee = "TM14LD" or Me.Employee = "BL54XR") And Language = "NL" Then
        Me.cmExportWordnltm14ld.Visible = True
    Else
        Me.cmExportWordnltm14ld.Visible = False
    End If

C'est quoi TM14LD et autre, est-ce un type d'employé ou un code qui identifie un employé particulier ?

A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
marot_r 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 23h58.


 
 
 
 
Partenaires

Hébergement Web