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 18/11/2010, 15h26   #1
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 236
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 236
Points : 11 022
Points : 11 022
Par défaut Déclaration des références

Bonjour,

A priori, j’ignore la version dont dispose celui qui utilisera mon application.

Sur ma machine, [Access2000], l’application fonctionne avec les références suivantes :
(en utilisant Function GetReferences() de cafeine)

· Référence : VBA - Version : 4.0 - FullPath : C:\Program Files\Fichiers communs\Microsoft Shared\VBA\VBA6\VBE6.DLL
· Référence : Access - Version : 9.0 - FullPath : C:\Program Files\Microsoft Office2K\Office\msacc9.olb
· Référence : utility - Version : 0.0 - FullPath : C:\Program Files\Microsoft Office2K\Office\1036\utility.mda
· Référence : DAO - Version : 5.0 - FullPath : C:\Program Files\Fichiers communs\Microsoft Shared\DAO\DAO360.DLL
· Référence : VBIDE - Version : 5.3 - FullPath : C:\Program Files\Fichiers communs\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB
· Référence : Scripting - Version : 1.0 - FullPath : C:\WINDOWS\system32\SCRRUN.DLL


ma question principale :
Comment dois-je m’y prendre, pour que mon utilisateur n’ait pas à modifier les références originales pour utiliser l’application avec une version Access autre ?

une question subsidiaire :
existe-t-il un tableau de correspondance qui donnerait l’équivalent de mes références dans les versions Access plus récentes ?

Merci déjà pour l'aide.
ClaudeLELOUP est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/11/2010, 15h42   #2
Membre émérite
 
Avatar de azertix
 
Homme Lanza Bertucci-Domergue
Développeur informatique
Inscription : juin 2007
Messages : 937
Détails du profil
Informations personnelles :
Nom : Homme Lanza Bertucci-Domergue
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : juin 2007
Messages : 937
Points : 995
Points : 995
En voilà une question intéressante.
J'avais rencontré le même problème à une époque.
Moi ce que j'avais fait c'est que ma base frontale avait pour seule référence Microsoft DAO.
Les chemins de mes références étaient stockés dans une table prévue à cet effet.
Ensuite j’avais mis un bouton qui supprimait toutes les références de la base puis ajoutait toutes les références de la table (située sur la base dorsale) lors de la première utilisation.
__________________
Si ma réponse vous a été utile pensez à voter Pour

Avant de poster sur le forum Access :
FAQ > SOURCES > COURS > FORUM > GOOGLE
Pas de question par MP ou je mords

azertix est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 18/11/2010, 15h46   #3
Membre Expert
 
Inscription : janvier 2006
Messages : 1 111
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 1 111
Points : 1 093
Points : 1 093
Bonjour,

Fais du late binding plutôt que du early binding
__________________
[Access] Les bases du débogage => ici
Kloun est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/11/2010, 16h56   #4
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 236
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 236
Points : 11 022
Points : 11 022
OK, merci je progresse :

1° ----> quand je connaîtrai les références, je les stockerai dans une table appelée « UIOPX » en souvenir.
Merci azertix et je vote !


2° Avec, bien obligé en l'occurrence, un late binding.
Quoique le lien de Kloun contienne dans sa conclusion :

Citation:
But some programming geniuses prefer to use late binding, because of the peace of mind it gives them regarding version independence – or maybe some of them just enjoy the challenge!
et qu’il me reste un long chemin avant d’être programming genius ! Mais le défi me plaît !
Merci kloun

Mais encore faut-il que je connaisse le nom des références équivalentes à celles de ma version.
Où puis-je trouver une liste ?

Smile (after having nose amputated)
:-) Smile (prior to above operation)
:-( Frown (at prospect of above operation)
;-) Wink (it's ok you don't need above operation after all)
ClaudeLELOUP est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/11/2010, 17h14   #5
Membre émérite
 
Avatar de azertix
 
Homme Lanza Bertucci-Domergue
Développeur informatique
Inscription : juin 2007
Messages : 937
Détails du profil
Informations personnelles :
Nom : Homme Lanza Bertucci-Domergue
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : juin 2007
Messages : 937
Points : 995
Points : 995
Si j'ai bien compris ce qui est dit dans le lien de Kloun (j'y ai jeté un œil), Access est capable dans une version supérieure d'ajouter la référence la plus récente si une référence plus ancienne est activée.

Edit
Je confirme :
Citation:
If you set a reference in a Word 97 project to “Microsoft Excel 8.0 Object Library”, then the project will run OK on a machine which has Office 2000 installed. Word 2000 changes the reference on the fly to the “Microsoft Excel 9.0 Object Library”.
La phrase concerne Word, mais je pense que c'est aussi valable pour Access puisque c'est VBA aussi

Edit 2
Pour en être sûr, je pense que le mieux est de tester...
Si tu veux, vu que tu sembles utiliser Access 2k, tu m'envoies une base de test et je te dis si ça marche sans erreur (j'ai Access 2003).
__________________
Si ma réponse vous a été utile pensez à voter Pour

Avant de poster sur le forum Access :
FAQ > SOURCES > COURS > FORUM > GOOGLE
Pas de question par MP ou je mords

azertix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2010, 17h30   #6
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 236
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 236
Points : 11 022
Points : 11 022
De mon côté, j'ai compris que Access se débrouillait parce l'application donnée en exemple (Word ou Excel) fait partie de la famille Office.
Vois d'ailleurs la syntaxe :
Code :
Set oXL = GetObject(, "Excel.Application")
Comment va-t-il se débrouiller pour utility par exemple ?


Edit 1 : que c'est sympa.

Edit 2 : en annexe la base actuelle.
constatations : a) je ne peux décocher les 2 premières références
b) je ne trouve pas la syntaxe du code qui permettrait de lier les suivantes après ouverture de la DB
ClaudeLELOUP est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/11/2010, 09h11   #7
Membre émérite
 
Avatar de azertix
 
Homme Lanza Bertucci-Domergue
Développeur informatique
Inscription : juin 2007
Messages : 937
Détails du profil
Informations personnelles :
Nom : Homme Lanza Bertucci-Domergue
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : juin 2007
Messages : 937
Points : 995
Points : 995
Bonjour.
Alors j'ai ouvert la base, lancé tous les formulaires, cliqué sur tous les boutons et je n'ai pas rencontré d'erreur.
En allant dans les références du projet VBA, il semble que les références aient été passées dans la version supérieure (cf PJ).
Pour avoir déjà rencontré des problèmes de compatibilité avec les références, je sais que lorsque qu'une référence n'est plus compatible avec la version en cours, Access retourne des erreurs assez rapidement et il est mentionné "MANQUANT" en préfixe de la référence.
À l'époque, je solutionnais le problème en décochant les références mentionnées manquantes puis en les rajoutant via mon système d'ajout automatique.

Pourrais-tu mettre la liste des références que tu vois toi avec Access 2k ? Je serais curieux de voir si Access a changé les versions tout seul
Images attachées
Type de fichier : gif references.gif (11,8 Ko, 13 affichages)
__________________
Si ma réponse vous a été utile pensez à voter Pour

Avant de poster sur le forum Access :
FAQ > SOURCES > COURS > FORUM > GOOGLE
Pas de question par MP ou je mords

azertix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 10h06   #8
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 236
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 236
Points : 11 022
Points : 11 022
Bonjour et merci pour ton intérêt.

Citation:
Pourrais-tu mettre la liste des références que tu vois toi avec Access 2k ? Je serais curieux de voir si Access a changé les versions tout seul


Donc Access s'adapte.

Je te reviens plus tard : j'essaie de suivre la piste suivante :

http://www.developpez.net/forums/d31...on-references/
ClaudeLELOUP est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/11/2010, 10h39   #9
Membre émérite
 
Avatar de azertix
 
Homme Lanza Bertucci-Domergue
Développeur informatique
Inscription : juin 2007
Messages : 937
Détails du profil
Informations personnelles :
Nom : Homme Lanza Bertucci-Domergue
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : juin 2007
Messages : 937
Points : 995
Points : 995
Ok c'est déjà une bonne nouvelle, même si ça ne veut pas dire que ça va marcher systématiquement
__________________
Si ma réponse vous a été utile pensez à voter Pour

Avant de poster sur le forum Access :
FAQ > SOURCES > COURS > FORUM > GOOGLE
Pas de question par MP ou je mords

azertix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2010, 15h10   #10
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 236
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 236
Points : 11 022
Points : 11 022
Citation:
À l'époque, je solutionnais le problème en décochant les références mentionnées manquantes puis en les rajoutant via mon système d'ajout automatique.
via mon système d'ajout automatique.

Qu'est-ce à dire ?

-----------
En explorant les posts de kloun, j'ai aussi trouvé :
Code :
1
2
Debug.Print "version utilisée: " & SysCmd(acSysCmdAccessVer)
Debug.Print "répertoire: " & SysCmd(acSysCmdAccessDir)
---------------
Mon instinct me dit que le lien renseigné au post 8 est la bonne voie, mais l'état de mes connaissances
1° ne me permet pas d'actualiser le code (si nécessaire)
2° de comprendre quand et comment déclencher le processus.

-----------------
Citation:
Alors j'ai ouvert la base, lancé tous les formulaires, cliqué sur tous les boutons et je n'ai pas rencontré d'erreur.
Je vais préparer une BDD embryonnaire avec les processus qui me font craindre des problèmes et je lancerai, sur le forum, un appel à volontaires pour tester sur des versions plus récentes que la mienne.
ClaudeLELOUP est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/11/2010, 15h21   #11
Membre émérite
 
Avatar de azertix
 
Homme Lanza Bertucci-Domergue
Développeur informatique
Inscription : juin 2007
Messages : 937
Détails du profil
Informations personnelles :
Nom : Homme Lanza Bertucci-Domergue
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : juin 2007
Messages : 937
Points : 995
Points : 995
Je t'ai retrouvé mon code pour ajouter les références courantes dans la table CHEMIN_REF :
Code :
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
Option Compare Database
Option Explicit
' Déclaration variables globales
Public bd As Database
 
Private Sub cmdAjoutRef_Click()
    Call GetReferences
End Sub
 
Function GetReferences()
' Récupère la liste des références de l'application et les ajoute dans la table CHEMIN_REF
    Dim Ref As Reference
    For Each Ref In Application.References
        Dim tRef As Recordset
 
        Set bd = CurrentDb
        Set tRef = bd.OpenRecordset("CHEMIN_REF", dbOpenDynaset)
        If DCount("[NomRef]", "CHEMIN_REF", "[NomRef] LIKE '" & Ref.Name & "'") = 0 Then
            tRef.AddNew
            tRef![NomRef] = Ref.Name
            tRef![CheminRef] = Ref.FullPath
            tRef.Update
            tRef.MoveLast
            MsgBox "Référence : " & Ref.Name & " - Version : " & Ref.Major & " - FullPath : " & Ref.FullPath
        End If
    Next Ref
    MsgBox "Toutes les références ont été ajoutées à la BDD", vbOKOnly + vbInformation, "Fin de l'ajout des références..."
End Function
Le code associé à mon bouton "Première utilisation" :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub cmdFirstRun_Click()
' Ajoute les références manquantes au projet à partir de la table CHEMIN_REF
    Dim tRefer As DAO.Recordset
    Dim strSqlRef As String
    ok = True
 
    strSqlRef = "SELECT NumRef, NomRef, CheminRef FROM CHEMIN_REF"
    Set tRefer = CurrentDb.OpenRecordset(strSqlRef)
 
    With tRefer
        Do While Not .EOF
            If ExisteReference(.Fields("NomRef")) = False Then
                AjouterReference (.Fields("CheminRef"))
                ok = False
                MsgBox "La référence " & .Fields("NomRef") & " a été ajoutée", vbInformation + vbOKOnly, "Confirmation d'ajout..."
            End If
            .MoveNext
        Loop
    End With
    If ok = True Then
        MsgBox "Toutes les références nécessaires au fonctionnement de l'application ont déjà été ajoutées", vbInformation + vbOKOnly, "Références déjà ajoutées..."
    End If
End Sub
Les fonctions qui vont avec :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Option Compare Database
Option Explicit
 
Public Sub AjouterReference(CheminRef As String)
' Ajoute une référence
    References.AddFromFile (CheminRef)
End Sub
 
Public Function ExisteReference(NomRef As String) As Boolean
' Teste l'existence d'un référence
    Dim Ref As Reference
    ExisteReference = False
    For Each Ref In Application.References
        If Ref.Name = NomRef Then
            ExisteReference = True
        End If
    Next Ref
End Function
Citation:
Envoyé par ClaudeLELOUP
Je vais préparer une BDD embryonnaire avec les processus qui me font craindre des problèmes et je lancerai, sur le forum, un appel à volontaires pour tester sur des versions plus récentes que la mienne.
Ok, tiens-moi au courant
__________________
Si ma réponse vous a été utile pensez à voter Pour

Avant de poster sur le forum Access :
FAQ > SOURCES > COURS > FORUM > GOOGLE
Pas de question par MP ou je mords

azertix est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 19/11/2010, 18h48   #12
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 236
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 236
Points : 11 022
Points : 11 022
Merci Azertix,

J’ai pu utiliser ta procédure.

NB pour qu’elle puisse fonctionner, il faut au moins qu’une référence Microsoft DAO soit présente au départ.
Sinon, sur le bouton cmdFirstRun, le clic coince.

J’ai d’abord alimenté la table CHEMIN_REF avec la fonction GetReferences.

Ensuite, j’ai vérifié ce qui se passait lorsque, volontairement, je désactive une référence :
---> un clic sur le bouton cmdFirstRun. ---> Parfait : la procédure l’ajoute.


Mais lorsqu’une référence manque le programme va chercher son chemin dans la table … qui contient les chemins sur mon PC, à l’origine, quand j’ai chargé avec GetReferences.
Exemple Utility, chez moi a le chemin : « C:\Program Files\Microsoft Office2K\Office\1036\utility.mda », la probabilité que mon correspondant ait le même chemin, est assez faible.
Comment puis-je gérer cela ?
ClaudeLELOUP est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/11/2010, 19h55   #13
Rédacteur
 
Avatar de LedZeppII
 
Homme
Maintenance données produits
Inscription : décembre 2005
Messages : 3 939
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Maintenance données produits
Secteur : Distribution

Informations forums :
Inscription : décembre 2005
Messages : 3 939
Points : 6 278
Points : 6 278
Bonsoir,

Avec Access 2007 ça ne passe pas.
Référence manquante : utility.mda
Normal, le fichier s'appelle utility.accda dans Office 2007

A quoi te sert la référence à utility.mda ?
Il y a peut-être moyen de s'en passer.

A+
LedZeppII est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 19/11/2010, 20h27   #14
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 236
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 236
Points : 11 022
Points : 11 022
Bonsoir LedZeppII,
Merci pour ton intérêt.
Je viens de faire un contrôle rapide dans l'application qui m'occupe maintenant, j'ai supprimé la référence. Le débogage ne signale rien. Je dois approfondir mais c'est probablement un reliquat de la version sur Access97.
Un problème en moins ! Espérons.
Merci en tout cas.
Bonne soirée.
ClaudeLELOUP est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/11/2010, 12h01   #15
Membre Expert
 
Inscription : avril 2006
Messages : 1 049
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 049
Points : 1 229
Points : 1 229
Bonjour à tous,

les références sont dans la base de registre sous la clé HKEY_CLASSES_ROOT\TypeLib je crois. Certaines références ont le même numéro GUID quelque soit la version du produit.
Pour gérer les emplacements des ref quelque soit le poste, comme azertix j'enregistre dans une table les références en scindant en deux le nom du fichier, une partie représente le dossier sous forme d'alias.
Les alias que j'utilise reprennent à peu de choses près les variables d'environnement, ProgramFiles, CommonProgramFiles, Windir (il y a peut-être d'autres variables d'environnement sous Vista et seven) ...... plus quelques autres comme OfficeDir, InstallDir(dossier d'accueil de la base), DataDir... Ainsi, les emplacements des fichier sont un plus indépendants du poste de développement.
Une fonction sert à faire la conversion alias-chemin, chemin-alias.
ilank est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 20/11/2010, 14h32   #16
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 236
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 236
Points : 11 022
Points : 11 022
Bonjour ilank,

Merci pour ta réponse.
Cependant, nous ne boxons pas dans la même catégorie : je n'ai aucune formation informatique, seulement un peu Access par essai/erreur, <F1> et ce forum.
Je n'ai donc pas tout compris et dès lors pas les moyens d'appliquer ton idée.
Un exemple m'aiderait sans doute.
Quoi qu'il en soit, je te remercie : le problème est chez moi.

N'est-ce pas dans le même esprit que ceci ?
Citation:
Mon instinct me dit que le lien renseigné au post 8 est la bonne voie, mais l'état de mes connaissances
1° ne me permet pas d'actualiser le code (si nécessaire)
2° de comprendre quand et comment déclencher le processus.

Si oui, ----> le 1° est sans objet.
ClaudeLELOUP est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/11/2010, 17h44   #17
Membre Expert
 
Inscription : avril 2006
Messages : 1 049
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 1 049
Points : 1 229
Points : 1 229
Bonjour ClaudeLELOUP,
les variables d'environnement sont des variables du système et propre à une session.
Pour voir un exemple, clique Démarrer => Exécuter => et saisie cmd pour ouvrir une fenêtre DOS (ecran en mode texte), ensuite tu tapes SET
cette commande renvoie à l'écran la liste des variables dites d'environnement.
(attention !! si sans paramètre cette commande renvoie la liste des variables et leur contenu,
SET toto=X permet de créer la variable toto si elle n'existe pas et lui affecte la valeur X
SET toto : vide la variable de tout contenu,
ECHO %toto% renvoie le contenu de la variable toto)

Je ne sais pas pour Vista et Windows 7 mais pour les versions précédentes, il y existe ces variables
ProgramFiles => contient l'emplacement où les programmes sont enregistrés
(Ex: C:\Program Files)
CommonProgramFiles => contient l'emplacement des fichiers communs à tous les programmes (Ex C:\Program Files\Fichiers Communs)
WinDir => contient l'emplacement du dossier d'accueil du système (Ex: C:\Windows)
.....
Tous ces variables sont normalement propre à une session utilisateur, puisque plusieurs systèmes peuvent coexister sur un ordinateur.
Bref, ainsi en remplaçant dans la table une partie de l'emplacement du fichier par un nom de variable ou un alias, l'emplacement d'un fichier devient un peu plus indépendant du poste.
Un exemple, j'utilise plusieurs alias que j'encadre de % ainsi, le chemin vers le fichier C:\Program Files\Office\1036\utility.mda, deviendrait dans la table %OfficeDir%\1036.
Maintenant quelque le poste de travail, il suffit de remplacer l'alias %OfficeDir% par sa véritable valeur qui est donné par SysCmd(acSysCmdAccessDir).

un exemple de table :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
Reference	EmpLocal
VBA 	 	%WSComProgDir%\Microsoft Shared\VBA\VBA6
Access 	 	%WSOfficeDir%
stdole 	 	%WSSystemDir%
ADODB 	 	%WSComProgDir%\System\ado
DAO 	 	%WSComProgDir%\Microsoft Shared\DAO
Scripting	%WSSystemDir%
VBIDE 	 	%WSComProgDir%\Microsoft Shared\VBA\VBA6
TLI 	 	%WSSystemDir%
ButtonPlusCtl	%WSSystemDir%
MSComctlLib	%WSSystemDir%
Office	        %WSOfficeDir%
ilank est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 20/11/2010, 17h50   #18
Membre Expert
 
Homme Jacques Petiot
Indépendant développeur et formateur
Inscription : octobre 2007
Messages : 891
Détails du profil
Informations personnelles :
Nom : Homme Jacques Petiot
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Indépendant développeur et formateur
Secteur : Conseil

Informations forums :
Inscription : octobre 2007
Messages : 891
Points : 1 333
Points : 1 333
Bonjour à tous
dans ma petite expérience, Access franchi en général le pas à la montée:
>Excel 10 deviens automatiquement >Excel 12
par contre ça ne marche pas à la descente

ça ne marche pas non plus si le produit recherché n'est pas installé chez l'utilisateur, (mon frère n'utilise pas Excel) ce qui dans certains cas nécessite un téléchargement (CDO par exemple)
__________________
-------------------Simplifi----------comme si tout était simple--------
Simplifi est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 20/11/2010, 18h01   #19
Rédacteur

 
Avatar de ClaudeLELOUP
 
Homme Claude LELOUP
Chercheur de loisirs (ayant trouvé !)
Inscription : novembre 2006
Messages : 5 236
Détails du profil
Informations personnelles :
Nom : Homme Claude LELOUP
Âge : 66
Localisation : Belgique

Informations professionnelles :
Activité : Chercheur de loisirs (ayant trouvé !)
Secteur : Finance

Informations forums :
Inscription : novembre 2006
Messages : 5 236
Points : 11 022
Points : 11 022
Merci ilank pour tes explications claires.
J'examine tout cela en détail

Merci Simplifi,
Je m'en fais peut-être pour rien ?
Dans mon cas, mon viel ACCESS va mettre celui de mes correspodants à contribution. L'escalier, c'est bon pour la santé !
Bon week end en tout cas.
ClaudeLELOUP est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/11/2010, 09h09   #20
Membre émérite
 
Avatar de azertix
 
Homme Lanza Bertucci-Domergue
Développeur informatique
Inscription : juin 2007
Messages : 937
Détails du profil
Informations personnelles :
Nom : Homme Lanza Bertucci-Domergue
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Finance

Informations forums :
Inscription : juin 2007
Messages : 937
Points : 995
Points : 995
Bien vu le coup des variables d'environnement. Je ne savais pas qu'on pouvait les utiliser dans Access.
J'ai bien fait de passer par là (je vais suivre la suite de la discussion avec intérêt)
__________________
Si ma réponse vous a été utile pensez à voter Pour

Avant de poster sur le forum Access :
FAQ > SOURCES > COURS > FORUM > GOOGLE
Pas de question par MP ou je mords

azertix est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h34.


 
 
 
 
Partenaires

Hébergement Web