Cher tous,
Donc en suivant ta piste çà fonctionne également sur mon Access 2010.
Le souci viendrait effectivement plus de l'environnement. Tente une réparation de ton office voire une installation si nécessaire.
++
JM
Cher tous,
Donc en suivant ta piste çà fonctionne également sur mon Access 2010.
Le souci viendrait effectivement plus de l'environnement. Tente une réparation de ton office voire une installation si nécessaire.
++
JM
N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
Retrouvez-moi sur le chat en salon base de données
C'est très étonnant car même en essayant sur Access2016, j'ai toujours le même soucis que les images ne s'actualisent pas
tree.management,
As tu moyen d'essayer çà sur un autre poste équipé d'Office ?
Cldt
N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
Retrouvez-moi sur le chat en salon base de données
Oui justement c'est ce que j'ai fais sur celui du travail et donc, j'aurais essayé sur Access2010 et 2016
tree.management
Bon je vais faire un tout petit projet chez moi que je t'enverrai demain et voir comment çà réagit !
++
N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
Retrouvez-moi sur le chat en salon base de données
Peut-être voudrais-tu que j’essaye encore en tenvoyant ma BD ?
tree.management,
On va faire avec un exemple simple que je te joins ici. images.zip
Si effectivement avec mon exemple çà devait fonctionner, nous chercherons plus précisément pourquoi ton projet n'a pas le même comportement sur le tes pc contrairement au mien et celui de Riton47.
A décompresser dans un répertorie de ton choix.
Bonne soirée
Jimbolion
N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
Retrouvez-moi sur le chat en salon base de données
Chez moi, ta BD fonctionne comme je le souhaiterai..
Du coup, je t'envoie par message privé dans 2minutes le lien pour télécharger ma BD.
C'est trop étrange..
Je me posais la question, ce n'est pas parce qu'il faudrait répéter ce code pour chaque zone image ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Private Sub Form_Current() If Me.NewRecord Then Me.Img_EM_Z1.Picture = "" Else If Len(Dir([CurrentProject].[Path] & "\0_etat_mecanique_Z1\" & Me.Etat_mecanique_1 & ".PNG")) = 0 Then MsgBox "Image non trouvée" Else Me.Img_EM_Z1.Picture = [CurrentProject].[Path] & "\0_etat_mecanique_Z1\" & Me.Etat_mecanique_1 & ".PNG" End If End If Me.Refresh End Sub
tree.management bonjour,
Le changement d'image fonctionne correctement chez moi !
Si maintenant tu dois afficher les images dans différents champs, il est clair que ce code doit s'adapter sur chaque image. Le changement d'image dans ton code n'intervient que sur le champ Img_EM_Z1.
Je vois aussi que le changement d'état de ta zone liste Etat_mecanique1 doit afficher le même comportement de changement d'image.
Il vaut mieux dans ce cas passer par une procédure privée appelée pour chaque événement.
Ce qui devrait ressembler à çà
Dans l’événement sur activation de ton formulaire tu fais appel à chacune de ces procédures définies :
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 Sub Img_Em_Z1_picture_load() If Me.NewRecord Then Me.Img_EM_Z1.Picture = "" Else If Len(Dir([CurrentProject].[Path] & "\0_etat_mecanique_Z1\" & Me.Etat_mecanique_1 & ".PNG")) = 0 Then MsgBox "Image non trouvée" Else Me.Img_EM_Z1.Picture = [CurrentProject].[Path] & "\0_etat_mecanique_Z1\" & Me.Etat_mecanique_1 & ".PNG" End If End If Me.Img_EM_Z1.Requery ' End Sub Private Sub Img_Cible_Load() If Me.NewRecord Then Me.Img_cible.Picture = "" Else If Len(Dir([CurrentProject].[Path] & "\13_cible\" & Me.Reponse & ".PNG")) = 0 Then MsgBox "Image non trouvée" Else Me.Img_cible.Picture = [CurrentProject].[Path] & "\13_cible\" & Me.Reponse & ".PNG" End If End If Me.Img_cible.Requery End Sub Private Sub Img_risque_reversible_Load() If Me.NewRecord Then Me.Img_risque_reversible.Picture = "" Else If Len(Dir([CurrentProject].[Path] & "\12_risque_reversible\" & Me.Risque_rev & ".PNG")) = 0 Then MsgBox "Image non trouvée" Else Me.Img_risque_reversible.Picture = [CurrentProject].[Path] & "\12_risque_reversible\" & Me.Risque_rev & ".PNG" End If End If Me.Img_risque_reversible.Requery End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Private Sub Form_Current() Call Img_Em_Z1_picture_load Call Img_Cible_Load Call Img_risque_reversible_Load End Sub
Sur le changement d'état de tes zones de listes <Après MAJ> il te suffit d'appeler la procédure adéquat :
A toi d'appliquer les mêmes règles sur tes autres procédures evenementielles à savoir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub Reponse_AfterUpdate() Call Img_Cible_Load End Sub Private Sub Risque_imm_AfterUpdate() Call Img_risque_reversible_Load End Sub Private Sub Risque_rev_AfterUpdate() Call Img_risque_reversible_Load End Sub
- BM_Z1_AfterUpdate
- BM_Z2_AfterUpdate
- BM_Z3_AfterUpdate
- EM_global_AfterUpdate
- EP_global_AfterUpdate
- Etat_global_AfterUpdate
- Etat_mecanique_2_AfterUpdate
- Etat_mecanique_3_AfterUpdate
- Etat_mecanique_4_AfterUpdate
- Etat_mecanique_5_AfterUpdate
En procédant ainsi tu n'as qu'à maintenir une seule procédure puisque appelée lors du chargement de ton formulaire ou sur modification du contenu de ta zone de liste.
Cldt
N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
Retrouvez-moi sur le chat en salon base de données
Super c'était bien ça, il fallait que j'applique les procédures pour chaques images!
Tout fonctionne parfaitement!
Une très grand merci à toi
Une dernière petite chose, je remarque que toutes les images se mettent bien à jour après avoir encoder les données.
Cependant, quand je suis en train d'encoder, les images ne s'affichent pas directement ? Chez toi aussi ?
Si je viens par exemple d'encoder un nouvel arbre, c'est seulement après avoir passer à un autre arbre et en revenant sur celui-là que les images s'affichent non ?
tree.management,
Qu'appelle tu par encodage ?
les images se rafraîchissent de deux façons à ce que je vois dans ton code : soit en changeant d'enregistrement (les images s'actualisent donc depuis l’événement <Sur Activation> de ton formulaire), soit en modifiant le contenu de tes zones de listes (dans ce cas il faut vérifier qu'à chaque changement l’événement associé est bien exécuté).
Effectivement dans l'exemple du code que je t'ai donnée, j'ai peut être affecté la mauvaise sub lors de l'encodage.
Il te suffit de reprendre un à un tes contrôles et affecter la bonne procédure mais tout devrait fonctionner normalement.
Cldt
N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
Retrouvez-moi sur le chat en salon base de données
Dès que j'ajoute un caractère sur mon formulaire. Si par exemple, je choisis le caractère "C" pour "Etat_mecanique_1. Tu vois ?
Donc si je comprend bien, le code que tu m'a fourni est celui uniquement pour faire la mise à jour une fois les données toutes encodées ?
Il me faut donc un code supplémentaire à ajouter pour faire une mise à jour automatique dès l'ajout d'un caractère et visualiser directement l'image correspondante c'est bien ça ?
tree.management,
Oui c'est bien çà !
Inspire toi de l'exemple que je t'ai mis.
C'est pour cela que je t'ai conseillé d'appliquer une private sub contenant la réactualisation des images.
Ainsi si une modification s'opère au niveau de la saisie (exemple "C" pour "Etat_mecanique_1), l'image doit être rafraîchie à ce moment là. Et lorsque tu changes d'enregistrement également (sur l'ensemble des images doivent être rafraîchies.
Donc pour résumer, il te faut identifier toutes les images à rafraichir en fonction de la modification de la zone liste et porter dans la propriété <Activation> de ton formulaire l'ensemble des images à rafraîchir.
Dans mon post de tout à l'heure tu as la base de ce qu'il faut faire.
++
N'oubliez pas le Tag si la réponse donnée vous a été utile et pour une réponse pertinente.
Retrouvez-moi sur le chat en salon base de données
J'ai réussi tout correctement et je vous remercie beaucoup pour votre aide!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager