|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() jacques-yves Administrateur de base de données Inscription : octobre 2011 Messages : 3 ![]() |
Je suis nouveau venu sur ce forum et ne suis pas sûr d'en connaître les usages. merci de votre tolérance...
Pour une ONG, J'exploite une base de donnée sous access 2003 avec format de données access 2000. La base contient environ 75 tables, une centaine de formulaires et environ 20 000 lignes de code VBA. les modules les plus anciens de cette base doivent remonter à Access 97. (Je dois activer la référence externe DAO2535.tlb.) Ma machine de développement(chez moi) est sous seven depuis trois mois, (auparavant sous xp pro), les 6 machines sur lesquelles est exploitée la base sont 4 XP, 1 vista et 1 seven. Il y a 2 mois, j'installe une version N+1 de la base sur les machines d'exploitation et, surprise!, seule les machines sous Vista et Seven fonctionnent. les autres selon le formulaire que j'essaie d'ouvrir, * plantent sauvagement sans message d'erreur exploitable. (tout au plus... "le programme Access a rencontré des problèmes... désolé !). * m'envoient des messages aberrants (du genre [fonction "ucase" non définie dans l'expresssion]) quand j'ouvre un autre formulaire... Autre dysfonctionnement observé : après plantage ou message erreur du type "ucase..." on ne peut plus fermer l'instance access (il faut passer par le gestionnaire des tâches). A force de tâtonnement, j'ai remarqué qu'en désactivant sur les machines sous XP la référence "Microsoft Visual Basic for application extensibility 5.3", le programme recommençait à fonctionner normalement. (alors que sans ce module, il ne fonctionne pas sous Seven). Cette situation n'est pas satisfaisante car le déploiement de nouvelles versions sur les machines devient un casse tête et, surtout, je ne comprends pas ce qui se passe. Mes questions sont 1) Comment savoir quel référence externe activer, les fonctions contenues dans chaque référence externe et l'ordre dans lesquelles ces références doivent être positionnées. 2) comment expliquer la différence de comportement selon se système d'exploitation Si nécessaire, j'indiquerai les références externes activées dans ma base actuellement merci d'avance à qui voudra bien me faire profiter de ses compétences. |
|
|
00
|
|
|
#2 |
![]() ![]() |
Bonjour,
Sans être un grand spécialiste en la matière, je doute un peu que la plupart des problème soient liés aux références elles-mêmes. Access 2003, avec une base au format 2000 devrait fonctionner sans problème, que ce soit sous XP, Vista ou Seven, sauf peut-être si tu utilises des bibliothèques très particulières. La première chose que je ferais, ce serait donc de vérifier que sur tous les postes que les derniers Service pack sont bien à jour (Windows et Office), et que tu as bien la dernière version de Jet installée partout. Et effectivement, la liste des références que tu utilises serait utile. Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() jacques-yves Administrateur de base de données Inscription : octobre 2011 Messages : 3 ![]() |
Merci
Domi2, les service pack Access sont à jour.(sp3) pour toutes les machines. A ma connaissance, il n'y a plus de mise à jour sur access 2003. les mises à jour windows sont faites de manière automatique sur chaque machine. par contre, je ne sais pas comment identifier la version de jet qui est en service. peux tu me dire comment je peux trouver cette info. Concernant les références externes, j'ai en ligne et dans cet ordre :
Cette dernière référence est indispensable sur les machines en seven et provoque bug sur les xp... et je l'élimine donc sur ces machines Que dire de plus ? merci de ton avis |
|
|
00
|
|
|
#4 | |||
![]() ![]() |
Bonjour,
Citation:
Pour la version de Jet : http://support.microsoft.com/kb/321329/fr Pour une éventuelle mise à jour : http://www.microsoft.com/downloads/f...0-46f815d3f5cd Maintenant, en lisant plus attentivement ton premier message hier soir, je relève : Citation:
Aussi, la première chose que je ferais, c'est de créer une nouvelle base vierge et d'y importer tous les objets de l'ancienne base. Ainsi, tu disposeras d'une base "propre". De toute façon, cette opération ne pourra être que bénéfique. Ensuite, en partant de cette nouvelle base et sous Windows 7, je supprimerais la référence à Microsoft Visual basic for applications extensibility 5.3, puis je compilerais le code. Si pas d'erreur à la compilation, ce sera déjà la preuve qu'elle n'est pas nécessaire. Peux-tu déjà faire ceci ? D'autre part : Citation:
Concernant Microsoft DAO 2.5/3.5 compatibility library et utility, cela assure la compatibilité avec l'ancienne syntaxe DAO et d'autres éléments de code propre à Access 97. Je ne sais pas exactement ce que tu auras comme références après réimportation dans une nouvelle base, cela serait intéressant de les noter. Si la référence Utility est toujours présente, cela serait intéressant de la supprimer, puis de compiler ton code. Au niveau de la bibliothèque DAO, si elle n'est plus référencée, tu devras certainement la remplacer par Microsoft DAO 3.6 Object Library (je ne sais pas si une réinstallation de l'ancienne bibliothèque est possible), et là, tu auras certainement des erreurs, parce que si elle est présente aujourd'hui, c'est que les anciennes syntaxes DAO n'ont pas été remplacée. Un lien : http://support.microsoft.com/kb/313233/fr Voilà, je ne peux pas t'en dire beaucoup plus, il faudrait déjà essayer de créer ta nouvelle base et procéder par étape. Ah, si, sauf à dire une énormité, tu ne pourras te passer d'une mise à niveau de ton code si tu entends migrer un jour vers Access 2007 ou supérieure. Tu n'auras plus de compatibilité avec les anciennes bibliothèques.
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() jacques-yves Administrateur de base de données Inscription : octobre 2011 Messages : 3 ![]() |
Merci beaucoup de tes commentaires et éléments de réflexion.
Suivant tes conseils, jai reconstruit une base en important dans une base vierge les objets de l'ancienne. J'ai activé 4 références de bibliothèque et 4 seulement :
Espérons que cela va tenir mais pour l'instant c'est parfait. Concernant le version Jet, je ne peux pas utiliser le code c++ auquel tu me renvoies. Je ne connais pas C++ et sauf erreur je ne l'ai pas sur ma machine. Concernant un éventuel passage sous access 2007, ce n'est pas à l'ordre du jour car
Y aurait il une raison pour laquelle access 2003 deviendrait obsolete, qui me forcerait à franchir ce pas ? J'ai en outre vu sur le forum que le passage de 2007 à 2010 était encore plus problématique. Raison de plus... Encore merci d'avoir pris le temps de répondre à mes questions. |
|
|
00
|
|
|
#6 | |||
![]() ![]() |
Citation:
Citation:
Je n'ai pas mieux, mais comme tes postes de travail sont à jour, je ne vois guère de raison qu'il y ait des problèmes de ce côté-là. Citation:
Si tu en as très peu, cela vaudrait peut-être la peine de faire une mise à jour du code.
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com