Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/01/2011, 16h21   #1
Invité de passage
 
Inscription : avril 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 9
Points : 1
Points : 1
Par défaut Variable générale pour une base

Bonjour,

Je mets dans ma base des références (chemin absolu) à des images dans les formulaires, les états et certains scripts. Je voudrais , afin que cette dernière soit portable mettre une variable globale qui contiendrait le début du chemin de mes images.

Par exemple

[variable_path_IMAGE] = "F:\BD\IMAGE\"

Ainsi pour mes images j'ai plus qu'à mettre :

[variable_path_IMAGE]&"PHOTO\essai.jpg"

Quand je transporte ma base j'ai juste ma variable générale à changer.

S'il y a d'autre solution plus simple, je suis preneur.

Merci par avance .
Jaq.des est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 18h08   #2
Membre Expert
 
Avatar de keita
 
Homme
Inscription : novembre 2002
Messages : 879
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Côte d'Ivoire

Informations forums :
Inscription : novembre 2002
Messages : 879
Points : 1 015
Points : 1 015
Envoyer un message via MSN à keita
bonsoir
Dans un module standard, tu mets ceci:
Code :
1
2
3
Option Compare Database
Option Explicit
Public Const variable_path_IMAGE= "F:\BD\IMAGE\"
Si CheminAbs est le nom de ce module alors partout où tu en auras besoin:
Code :
CheminAbs.variable_path_IMAGE &"PHOTO\essai.jpg"
Mais je trouve cette façon de faire un peu contraignante; en effet si le chemin F:\ venait à changer, alors tu devras rentrer dans le code pour modifier. et si ton appli a été déployer chez quelqu'un d'autre alors...?
Je te propose peut être d'utiliser une table dans ta base qui n'aurait qu'un seul champ donc un seul enregistrement de valeur: "F:\BD\IMAGE\"; et donc qu'on pourrait modifier grâce à un formulaire. non?

@+
keita est déconnecté   Envoyer un message privé Réponse avec citation 12
Vieux 31/01/2011, 19h04   #3
Expert Confirmé
 
Avatar de FreeAccess
 
Homme
Inscription : mars 2006
Messages : 2 309
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : mars 2006
Messages : 2 309
Points : 2 847
Points : 2 847
Bonjour,

Sauf si impératif particulier, pourquoi ne pas créer une arborescence logique de ton application par l'utilisation d'un seul et même répertoire

Dans ce répertoire tu crée un sous-répertoire [Images] pour "stocker" celles-ci...
..maintenant, tu pourras faire "référence" à ce sous répertoire en utilisant..:
Code :
CurrentProject.Path & "\Images\"
.....ici, plus besoin de connaitre le disque d'installation, car ton sous-répertoire est toujours déterminé par rapport à l'emplacement de ton application (xxxx.accdb)
__________________
FreeAccess
"Petit à petit l'araignée tisse sa toile"
FreeAccess est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 01/02/2011, 09h37   #4
Invité de passage
 
Inscription : avril 2009
Messages : 9
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 9
Points : 1
Points : 1
Bonjour,

Merci pour ces réponses rapides qui me permettent d'avancé.

keita : ta réponse est ce à quoi je pensais car je ne voyais que cette solution mais je n'avais pas vraiment la méthode. Merci pour cette info. Je la garde dans un coin ainsi que le coup de la table paramètrable.


FreeAccess : ta méthode je connaissais pas du tout et je crois que c'est ce que je vais utiliser.

Merci
Jaq.des est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h49.


 
 
 
 
Partenaires

Hébergement Web