Bonjour à tous,
Je suis actuellement en stage sans une entreprise au Pérou et je dois réaliser un programme permettant d'enregistrer tous les produits et leurs caractéristiques. Il me faut donc insérer une photo. J'ai alors cherché une réponse sur developpez.com et je suis tombée sur le tutoriel de caféine. J'ai donc suivi les "instructions". Mon problème est que je n'arrive pas à faire fonctionner correctement les commande modifier et supprimer les photos. Le fait que le programme Access soit en espagnol n'arrange pas les choses.
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
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
Option Compare Database
Option Explicit
 
Private Sub cmdDelete_Click()
' Bouton de commande d'effacement de la photo
 
' supprime l'adresse de la photo
Me.Foto = vbNullString
 
' affiche l'image blank.jpg
Me.Foto = CurrentProject.Path & "C:\Archivos de programa\Catalogo IW\inserarfoto.jpg"
 
' redimensionne la photo
DisplayPhoto
 
End Sub
 
Private Sub cmdFoto_Click()
Dim strLink As String
 
' Gestion des erreurs
On Error GoTo Catch01
 
' récupération du chemin physique de la photo
'  par la boite de dialogue
strLink = Abrir(Me.Hwnd, "Selectionar una foto para el producto " & Me.Codigo_principal, 1)
 
 
' si la boite renvoie une adresse non nulle
If Len(strLink) > 0 Then
    ' tentative d'affichage de la photo
    Me.Picture = strLink
    Me.Foto = strLink
End If
 
DisplayPhoto
Exit Sub
 
Catch01:
Select Case Err.Number
    Case 2114
        'Cas d'un type de fichier photo non supporté ...
        '  on sort de la procédure
        MsgBox "El formato de la foto no es correcto", vbCritical + vbOKOnly, "Application Photos"
        Exit Sub
    Case 2220
        'Cas d'un emplacement non valide du fichier images
        MsgBox "El fichero de imágenes no ha sido encontrado en el emplazamiento indicado: " & vbCrLf & _
                Me.Foto, vbCritical + vbOKOnly, "Application Foto"
        Exit Sub
    Case Else
        ' tout autre cas d'erreur
        MsgBox "Error inesperada : " & Err.Number & vbCrLf & Err.Description, vbCritical + vbOKOnly, "Application Photos"
End Select
Err.Clear
 
 
End Sub
 
Private Sub Codigo_principal_BeforeUpdate(Cancel As Integer)
 
End Sub
 
Private Sub Form_Current()
' L'événement Activation (Current) se produit lorsque le focus passe à un enregistrement
'  donné pour en faire l'enregistrement en cours, ou lorsque le formulaire est
'  Actualisé ou en Actualisation.
 
' si le code est non vide : on visualise un enregistrement
'  sinon cela indique que nous sommes sur un enregistrement vierge, donc en cours de saisie.
'  Me.Caption : gère le titre du formulaire.
If Len(Me.Codigo) > 0 Then
    Me.Caption = "Detalles para el producto : " & Me.Codigo_principal & Me.Artesano & Me.Nombre_producto & Me.Precio_artesano
Else
    Me.Caption = "Entrada de un nuevo producto"
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.Foto) > 0 Then
    Me.Picture = Me.Foto
Else
    Me.Picture = CurrentProject.Path & "C:\Archivos de programa\Catalogo IW\inserarfoto.jpg"
End If
 
DisplayPhoto
 
Exit Sub
 
Catch02:
Select Case Err.Number
    Case 2114
        'Cas d'un type de fichier photo non supporté ...
        MsgBox "El formato de la foto no es correcto", vbCritical + vbOKOnly, "Application Photos"
        Me.Picture = CurrentProject.Path & "C:\Archivos de programa\Catalogo IW\inserarfoto.jpg"
        Me.Foto = vbNullString
    Case 2220
        'Cas d'un emplacement non valide du fichier images
        MsgBox "El fichero de imágenes no ha sido encontrado en el emplazamiento indicado: " & vbCrLf & _
                Me.Foto, vbCritical + vbOKOnly, "Application Photos"
        Me.Picture = CurrentProject.Path & "C:\Archivos de programa\Catalogo IW\inserarfoto.jpg"
        Me.Foto = vbNullString
    Case Else
        ' tout autre cas d'erreur
        MsgBox "Error inesperada : " & 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.PictureSizeMode > Me.PictureSizeMode Then
    ' met le controle en mode zoom
    Me.PictureSizeMode = 3
Else
    ' met le contrôle en mode respect de la taille originale
    Me.PictureSizeMode = 0
End If
 
' si la largeur dépasse et qu'on est en mode taille réelle ...
If (Me.Foto.SizeMode.ImageWidth > Me.PictureSizeMode.Width) And (Me.PictureSizeMode) = 0 Then
    ' on met en mode zoom
    Me.PictureSizeMode = 3
End If
 
 
End Sub
Je ne vois pas où je me suis trompée. Si nécessaire je peux envoyer le programme access en .zip.

Cordialement,

Pauline

PS. J'espère avoir posté ma question au bon endroit