-
Bonjour,
Voici où j’en suis après avoir pris des morceaux chez : azertix, Kloun (le lien renseigné au post 8 !!), LedZeppII, ilank et Simplifi.
Un petit résumé sous forme d’exemple en annexe.
J’ai développé en Access97 pour me permettre de tester l’emploi avec Access2000.
Chez moi, c’est OK.
Principe
Pour que ce soit le plus « général » possible, j’ai travaillé avec le Guid des références.
Comment marche l’exemple
A l’ouverture du formulaire fGestionReferences, on assigne d’office la référence DAO, elle est indispensable au fonctionnement. (voir le code dans l’événement Sur ouverture).
Clic sur le bouton : Afficher les références actuelles ---> références actuelles et leur Guid sont affichées.
nb : les références sans Guid (ex. Utily.mda) sont ici signalées, mais non traitées.
Clic sur le bouton : Ajouter les références utiles ---> les références mentionnées dans tReferences sont celles dont la présence obligatoire avait été antérieurement décidée . Le programme ajoute les références qui ne seraient pas encore présentes dans l’application active.
Clic sur le bouton : Pour constituer une table des références utiles ---> Purge tReferences et y inscrit les références actuelles de l’application active, pour autant qu’un Guid y soit associé.
Comment j’ai procédé pour tester
En Access97, j’ai coché 11 références de la liste et ajouter Utily.mda (pour illustrer ce qui se passe en cas d’absence de Guid). J’ai ensuite décoché cette dernière référence. Je chercherai une solution plus tard, s’il s’avère qu’elle m'est nécessaire. A priori, je n’en aurai pas besoin.
J’ai cliqué sur le bouton : Pour constituer une table des références utiles.
J’ai fermé la DB.
J’ai ensuite ouvert GestionReferences97.mdb avec ACCESS2000
Après conversion, voici les références :
http://www.wikeo.be/files/4014/Refer...Reference1.jpg
Comme l’annonçait Simplifi, Access2000 a monté une marche : les versions ont été adaptées.
Access2000 a même monté 2 marches : des références ont été d’office ajoutées à l'insu de mon plein gré (sic). Voyez les 2 dernières.
En ce qui me concerne, mystère mais ça ne me gêne pas (encore).
J’ai alors décoché toutes les références (sauf refus pour les 2 premières).
Fermer le formulaire fGestionReferences.
Je l’ai rouvert ---> pour provoquer l’événement Sur ouverture.
A ce moment, je constate que la référence DAO a été ajoutée. Elle est indispensable au fonctionnement des boutons.
Je clique sur le bouton : Ajouter les références utiles ---> elles s’ajoutent l’une après l’autre.
Re-mystère : les 2 références signalées plus haut, n’ont, cette fois, pas été ajoutées.
http://www.wikeo.be/files/4014/Refer...Reference2.jpg
Conclusion
Chez moi, ça marche.
Il se peut que mon test soit biaisé puisque sur ma machine Access97 et Acces2000 cohabitent.
Appel à témoins
Si vous avez été intéressé par ceci et que vous l’avez testé, dites-moi comment ça se passe chez vous avec des versions postérieures à 97.
Encore merci à tous ceux qui ont participé.
-
Commentaires en direct live (Office 2003) :
- À l'ouverture de la base, Access me propose deux choix : convertir la base en un format plus récent (il m'avertit que si je fais cela, je ne pourrai plus l'ouvrir avec Access 1997) ou valider la base. Je choisis valider.
- Avertissement de sécurité (normal quoi). Je clique sur Ouvrir.
- Aïe ! J'ai une erreur :
http://www.hebergementimages.com/ima...425_erreur.bmp
- La base s'ouvre quand même. Je vois les tables et le formulaire.
- Le formulaire fGestionReferences s'ouvre correctement.
- Je clique sur Afficher les références actuelles.
- S'affichent VBA, Access, DAO et une ou deux autres que je connais pas.
- À chaque référence, je clique sur ok.
- Soudain :
http://www.hebergementimages.com/ima...5c_erreur2.bmp
Quand je clique sur débogage, j'arrive sur ce code :
http://www.hebergementimages.com/ima...7a210_code.bmp
En cliquant sur continuer (F5), Access m'indique que "la méthode Name de l'objet Reference a échoué".
- Cette même erreur s'affiche lors du clic sur le bouton "Ajouter les références utiles".
Le code incriminé est le suivant :
http://www.hebergementimages.com/ima...a996_code2.bmp
- Enfin, je clique sur le dernier bouton "Constituer table réf. utiles".
Même erreur. Le code pointé :
http://www.hebergementimages.com/ima...20f8_code3.bmp
J'essaye de voir si je peux arranger ça mais un utilisateur lambda qui aurait la même version d'Access que moi rencontrerait des difficultés :roll:
-
Bonjour azertix,
Merci pour cette réaction rapide
tes images sont peu lisibles !
Ca peut s'aranger ?
lambdax.
-
A l'aveugle (rapport à tes images !), c'est comme si, après conversion il y avait des références manquantes.
Vérifie d'abord avant de chercher plus loin.
Chez moi, ce cas est impossible puisque j'ai les 2 versions sur ma machine et je ne veux pas prendre le risque d'enlever Access97 et le réinstaller ensuite.
-
Ben qu'est ce qu'elles ont mes images ?
Ce sont des impressions d'écran en taille réelle, je peux difficilement faire mieux...
Si tu les vois mal, ça vient peut-être de ton navigateur ?
Sinon tu sembles avoir compris que j'avais fait la conversion de la base alors que j'indique dans mon post que j'ai choisi l'option "Valider la base" :roll:
-
Quand je vais voir la liste des références, je vois une référence manquante :
http://www.hebergementimages.com/ima...references.bmp
-
Je pense que le mieux est que tu enlèves toutes les références de la base dès le départ. Au moins, tu n'auras pas d'erreurs de références manquantes.
Tu proposes ensuite à l'utilisateur de toutes les ajouter lors de sa première utilisation de l'appli.
J'ai vu que tu ajoutais les références avec le GUID. De cette façon, il ne devrait pas y avoir de problème de version.
Peux-tu supprimer toutes les références de la base 97 et me la renvoyer pour que je teste ? (je ne peux pas modifier la base sans la convertir :()
-
voici.
Entretemps : une piste pour le mystère. Access a sans doute besoin des 2 références pour pouvoir convertir.
Quant à tes images, chez moi, c'est remplacé par une croix.
Comme si l'adresse n'était pas correcte.
-
Je sais pas, avec Firefox 3.6 et IE 6 je vois les images correctement :?
Je regarde la base sans ref tout à l'heure ;)
-
ce que je vois :
http://www.wikeo.be/files/4014/ScreenShot001.jpg
Edit : devenu sans objet.
Le problème a disparu... mystérieusement (en ce qui me concerne).
-
Quel est ton navigateur ?
-
Internet Explorer 8 par Toutatis !
-
Ah ben voilà...
Un développeur qui se respecte utilise un navigateur qui respecte les standards du web ;)
http://fr.wikipedia.org/wiki/World_Wide_Web_Consortium
-
... mais, je ne suis pas un développeur, Monsieur !
Seulement un vulgus homo numeris. Un comptable si tu préfères.
Entre nous, c'est la 1ère fois que je tombe sur un post censuré à cause de mon navigateur.
Cela dit, j'imagine très bien les images que tu me caches.
Référence "Manquant" ---> pas de Guid ---> bug.
---> code mal foutu : je devrai prévoir un remède ou, au moins, une mise en garde.
A bientôt.
-
Ça ne vient sans doute pas du navigateur : j'utilise FF et j'ai aussi IE6 et avec les 2 les images s'affichent.
-
Bonjour kloun,
celles d'Azertix aussi, ou seulement les miennes ?
-
Je vois tout avec les 2 navigateurs.
-
avec cette adresse :
http://www.hebergementimages.com/ima...5c_erreur2.bmp
j'ai ceci :
http://www.wikeo.be/files/4014/ScreenShot002.jpg
J'ignore où je dois chercher.
Edit : devenu sans objet.
Le problème a disparu... mystérieusement (en ce qui me concerne).
-
Bonjour à tous
Excellente idée ce topic
Avec Access 2007 , memme chose qu'Azertix ,mais il manque une seconde
reference ,Active Setup Control Library
Je ne l'ai pas trouvé sur mon pc.
Bon courage
-
AddFromGuid
Bonsoir,
D'après ce que j'ai constaté dans Access 2007, AddFromGuid sait trouver tout seul le plus grand numéro de version, dans le cas où le GUID existe dans HKEY_CLASSES_ROOT\TypeLib\{...GUID...} mais que le numéro de version n'existe pas.
Par exemple :
Code:
Application.References.AddFromGuid "{00025E01-0000-0000-C000-000000000046}", 4, 0
Cette clé (HKEY_CLASSES_ROOT\TypeLib\{00025E01-0000-0000-C000-000000000046}) existe dans ma base de registre, mais pas en 4.0.
Je n'ai que 5.0.
La référence à DAO a bien été ajoutée.
Code:
Application.References.AddFromGuid "{00025E01-0000-0000-C000-000000000046}", 0, 0
Donne le même résultat.
Le code m'ajoute une référence VB à {00025E01-0000-0000-C000-000000000046} en version 5.0
J'ai fait un test avec le GUID {F5078F18-C551-11D3-89B9-0000F81FE221} (Microsoft XML).
Sur mon PC j'ai les version 2.6, 3.0, 4.0, 5.0 et 6.0.
Code:
Application.References.AddFromGuid "{F5078F18-C551-11D3-89B9-0000F81FE221}", 0, 0
me crée une référence VB sur la version 6.0.
Si ce comportement se vérifie dans Access 2000, 2002, 2003, je pense qu'on peut ajouter des références avec AddFromGuid, en mettant 0 pour les numéros majeur et mineur de version de bibliothèque de type.
Remarque : la bibliothèque ADODB est un cas particulier car chaque version a un GUID différent.
A+