IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Changement dynamique de fichier.ini dans un controle image


Sujet :

VBA Access

  1. #1
    Membre éclairé Avatar de dumas.blr
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2010
    Messages
    598
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2010
    Messages : 598
    Points : 879
    Points
    879
    Par défaut Changement dynamique de fichier.ini dans un controle image
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =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,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    Images attachées Images attachées  

  2. #2
    Membre expérimenté
    Avatar de mumen
    Homme Profil pro
    Développement à façon multisecteur.
    Inscrit en
    Mars 2004
    Messages
    566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Développement à façon multisecteur.

    Informations forums :
    Inscription : Mars 2004
    Messages : 566
    Points : 1 381
    Points
    1 381
    Par défaut
    Je crois que, pour la clarté, tu devrais effectivement placer tes assignations dans le code, en VBA plutôt que dans la propriété.

    En effet, une variable basic ne peut pas être accédée par la propriété du formulaire.

    D'autre part, ImageMenu n'étant pas une propriété explicite du formulaire, mais un controle de ton formulaire,

    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ImageMenu.ControlSource
    tu dois écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me!ImageMenu.ControlSource

Discussions similaires

  1. Comment afficher le contenu d'un fichier ini dans un mémo?
    Par Jayceblaster dans le forum Langage
    Réponses: 7
    Dernier message: 13/05/2014, 17h38
  2. [WD12] Fichier ini dans l'interface
    Par Raphael1980 dans le forum WinDev
    Réponses: 4
    Dernier message: 08/04/2009, 14h09
  3. Réponses: 2
    Dernier message: 15/06/2007, 10h54
  4. menu dynamique via fichier ini
    Par ameno_123 dans le forum Delphi
    Réponses: 7
    Dernier message: 20/11/2006, 20h28
  5. [Delphi7]Utilisation d'un fichier ini dans un service web
    Par Tcheby dans le forum Web & réseau
    Réponses: 4
    Dernier message: 25/09/2006, 09h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo