Bonjour,
Pour des besoins de maintenance, j'utilise 2 fichiers .ini de configurations que j'utilise selon mes besoins (voir le topic que j'ai posté ici)
Malheureusement, mon "astuce" génère un effet de bords :
J'ai un formulaire affichant les différents items d'un menu général,avec pour chaque item, une irone liée.
Ces icones sont stockées en externe dans un répertoire "Icone", qui est décrit dans le fichier .ini de configuration. Pour afficher l'icone adéquate, j'ai un contrôle de type image , sur lequel j'ai renseigné la propriéte controlsource de la manière suivante :
=GetIniParam([CurrentProject].[Path] & "\Config.ini";"PATH";"ICONE") & [ItemPicture]
Config.ini étant bien sur le fichier de configuration chez l'utilisateur.
Lorsque j'utilise mon fichier de configuration locale, bien sûr ça ne marche pas, et mes icônes ne s'affichent plus.
J'ai essayé de contourner le prorblème en récupérant la variable globale dans laquelle j'ai stocké le nom de mon fichier .ini,
=GetIniParam([CurrentProject].[Path] & "\"& NomFichConfig;"PATH";"ICONE") & [ItemPicture]
mais ça ne marche pas mieux
pourtant, quand je fais dans le débugger le print, j'ai bien la bonne info
1 2
| print GetIniParam(CurrentProject.Path & "\" & NomFichConfig,"PATH","ICONE") & ItemPicture
C:\Users\JDS\Documents\Perso\Domiciliation\Icons\ |
Le problème est que si l'on modifie la valeur du recordsource, on est obligé d'utiliser le générateur d'expression (voir PJ). J'ai l'impression qu'il ne fonctionne pas de la même manière que dans le VBA.
J'ai bien essayé de mettre dans l'évènement form_open le code
Me.ImageMenu.ControlSource = GetIniParam(CurrentProject.Path & "\" & NomFichConfig, "PATH", "ICONE") & ItemPicture
Mais VBA refuse l'utilisation de cette propriété dans le code et me génère une erreur de comilation "membre de méthode ou de donnée introuvable"
Quelqu'un a-t-il rencontré un problème analogue ?
Quelle solution a-t-il trouvé ?
Merci d'avance pour vos conseils éclairés
Partager