Bonjour,
En me servant de cet excellent tuto de cafeine, je suis amené à répondre à une exigence qui n'y est pas décrite.
Je dois créer un état sur lequel s'affichera les informations sur le salarié et sa photo. Voici le code que j'ai utilisé
Mais il y a un problème.
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
58
59
60
61
62 Private Sub Report_Activate() 'Me.NumMtr.Locked = True If Len(Me.NomAgent) > 0 Then Me.Caption = "Détails pour l'agent : " & Me.NomAgent & " " Else Me.Caption = "Aucun Agent sléctionné" End If ' Gestion des erreurs On Error GoTo Catch02 ' si la photo n'est pas définie, on affiche la photo blank.jpg If Len(Me.LienPhoto) > 0 Then Me.imgPhoto.Picture = Me.LienPhoto Else Me.imgPhoto.Picture = CurrentProject.Path & "\images\blank.jpg" End If DisplayPhoto Exit Sub Catch02: Select Case Err.Number Case 2114 'Cas d'un type de fichier photo non supporté ... MsgBox "Le format de l'image n'est supporté par le contrôle image Picture", vbCritical + vbOKOnly, "Application Photos" Me.imgPhoto.Picture = CurrentProject.Path & "\images\blank.jpg" Me.LienPhoto = vbNullString Case 2220 'Cas d'un emplacement non valide du fichier images MsgBox "Le fichier image n'a pas été trouvé à l'emplacement indiqué : " & vbCrLf & _ Me.LienPhoto, vbCritical + vbOKOnly, "Application Photos" Me.imgPhoto.Picture = CurrentProject.Path & "\images\blank.jpg" Me.LienPhoto = vbNullString Case Else ' tout autre cas d'erreur MsgBox "Erreur inattendue : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Application Photos" End Select Err.Clear End Sub Sub DisplayPhoto() ' Traitement en fonction de la taille de l'image ' regarde si la hauteur de l'image dépasse celle du controle Picture If Me.imgPhoto.ImageHeight > Me.imgPhoto.Height Then ' met le controle en mode zoom Me.imgPhoto.SizeMode = 3 Else ' met le contrôle en mode respect de la taille originale Me.imgPhoto.SizeMode = 0 End If ' si la largeur dépasse et qu'on est en mode taille réelle ... If (Me.imgPhoto.ImageWidth > Me.imgPhoto.Width) And (Me.imgPhoto.SizeMode) = 0 Then ' on met en mode zoom Me.imgPhoto.SizeMode = 3 End If End Sub
Sur toutes les fiches, la même photo se repete( celle du premier salarié) alors que les informations sur les salariés changent.
Aidez-moi s'il vous plait à y voir clair.
Merci.
Partager