J'ai réalisé une Application en mdb sur un PC avec :
Windows XP et Office XP ( Access 2002 et Word 2002).
Cette application fonctionne sans aucun problème.
J'ai voulu installer cette Application sur un autre poste sous Windows 2000
pro.
Comme ça plantait ou ne marchait pas correctement selon l'utilisation, j'ai
désinstallé et réinstallé Office ( avec Access 2002 et Word 2002 dont j'ai
absolument besoin dans mon Appli).
Comme ça ne fonctionnait toujours pas, je suis allé voir, sur les conseils
pris sur ce NG, si les références étaient correctes.
Effectivement la référence Microsoft ActiveX Data Objects n'était pas la
même (2.1 au lieu de 2.5).
J'ai donc installé la bonne référence ( fichier msado25.tlb ).
LA question : TOUTES choses étant égales, ça marche sur un PC et PAS sur
l'autre, OU est le problème ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Benoit Compoint [MS]
Bonsoir,
Je n'ai pas eu le temps de lire toutes les réponses qui vous ont déjà été données, puisque vous avez posé cette question plusieurs fois.
Cependant je vous rappelle que pour augmenter la portabilité de votre application Access 2002 qui pilote via automation Excel et Word, vous devriez utiliser la technique dite "late binding" au lieu d'utiliser la technique "early binding". Pour plus d'informations, consultez la page Web suivante : http://support.microsoft.com/default.aspx?scid=KB;EN-US;247579
En fait j'ai noté dans votre code source que vous panachiez l'usage du late binding et du early binding pour une même référence (Word par exemple).
Ainsi j'ai vu votre code source ci-dessous : Dim wdApp As Word.Application Set wdApp = CreateObject("Word.Application")
En early binding classique, le code devrait être : Dim wdApp As Word.Application Set wdApp = new Word.Application
Mais je vous recommande de décocher la référence vers Word afin d'utiliser le "late binding" : Dim wdApp As Object Set wdApp = CreateObject("Word.Application")
D'autre part je vous conseille de décocher la référence vers MSO.DLL si elle est inutile, et dans le cas contraire de comparer la version de cette DLL sur les deux postes concernés.
Pour isoler le problème vous devriez tester sur le poste cible Windows 2000, dans une base vierge générée et compilée sur votre poste (puis éventuellement recompilée sur le poste cible), une petite partie de votre code VBA qui piloterait Word en ne conservant que la référence vers Word (outre les références Access et VBA). Puis recommencer de même avec une petite partie de votre code VBA, dans une autre base vierge, qui piloterait Excel en ne conservant que la référence vers Excel (outre les références Access et VBA). Puis recommencer de même avec une petite partie de votre code VBA, dans une autre base vierge, qui utiliserait MSO.DLL en ne conservant que la référence vers MSO.DLL (outre les références Access et VBA).
Enfin je vous rappelle que si Word (par exemple) n'est pas correctement installé sur une station de travail, il est normal d'obtenir des erreurs lorsque vous tenter de le piloter via Automation. Quand vous comparez sur deux postes le fonctionnement d'Access 2002 avec Excel 2002 et Word 2002, il est important de vérifier les versions exactes d'Office XP (quels Service Packs avez-vous installé pour Office XP ?) sur ces deux postes.
Benoit Compoint
"" wrote in message news:
Mesdames, Messieurs,
Voici la question :
J'ai réalisé une Application en mdb sur un PC avec : Windows XP et Office XP ( Access 2002 et Word 2002). Cette application fonctionne sans aucun problème. J'ai voulu installer cette Application sur un autre poste sous Windows 2000
pro. Comme ça plantait ou ne marchait pas correctement selon l'utilisation, j'ai
désinstallé et réinstallé Office ( avec Access 2002 et Word 2002 dont j'ai absolument besoin dans mon Appli). Comme ça ne fonctionnait toujours pas, je suis allé voir, sur les conseils pris sur ce NG, si les références étaient correctes. Effectivement la référence Microsoft ActiveX Data Objects n'était pas la même (2.1 au lieu de 2.5). J'ai donc installé la bonne référence ( fichier msado25.tlb ). LA question : TOUTES choses étant égales, ça marche sur un PC et PAS sur l'autre, OU est le problème ?
Merci de vos suggestions. @ + b(°!°)rbbu
Bonsoir,
Je n'ai pas eu le temps de lire toutes les réponses qui vous ont déjà été
données, puisque vous avez posé cette question plusieurs fois.
Cependant je vous rappelle que pour augmenter la portabilité de votre
application Access 2002 qui pilote via automation Excel et Word, vous
devriez utiliser la technique dite "late binding" au lieu d'utiliser la
technique "early binding".
Pour plus d'informations, consultez la page Web suivante :
http://support.microsoft.com/default.aspx?scid=KB;EN-US;247579
En fait j'ai noté dans votre code source que vous panachiez l'usage du late
binding et du early binding pour une même référence (Word par exemple).
Ainsi j'ai vu votre code source ci-dessous :
Dim wdApp As Word.Application
Set wdApp = CreateObject("Word.Application")
En early binding classique, le code devrait être :
Dim wdApp As Word.Application
Set wdApp = new Word.Application
Mais je vous recommande de décocher la référence vers Word afin d'utiliser
le "late binding" :
Dim wdApp As Object
Set wdApp = CreateObject("Word.Application")
D'autre part je vous conseille de décocher la référence vers MSO.DLL si elle
est inutile, et dans le cas contraire de comparer la version de cette DLL
sur les deux postes concernés.
Pour isoler le problème vous devriez tester sur le poste cible Windows 2000,
dans une base vierge générée et compilée sur votre poste (puis
éventuellement recompilée sur le poste cible), une petite partie de votre
code VBA qui piloterait Word en ne conservant que la référence vers Word
(outre les références Access et VBA).
Puis recommencer de même avec une petite partie de votre code VBA, dans une
autre base vierge, qui piloterait Excel en ne conservant que la référence
vers Excel (outre les références Access et VBA).
Puis recommencer de même avec une petite partie de votre code VBA, dans une
autre base vierge, qui utiliserait MSO.DLL en ne conservant que la référence
vers MSO.DLL (outre les références Access et VBA).
Enfin je vous rappelle que si Word (par exemple) n'est pas correctement
installé sur une station de travail, il est normal d'obtenir des erreurs
lorsque vous tenter de le piloter via Automation. Quand vous comparez sur
deux postes le fonctionnement d'Access 2002 avec Excel 2002 et Word 2002, il
est important de vérifier les versions exactes d'Office XP (quels Service
Packs avez-vous installé pour Office XP ?) sur ces deux postes.
Benoit Compoint
"B@rbbu" <NOdadpub@SPAMtiscali.fr> wrote in message
news:uq9SoTIwDHA.3216@TK2MSFTNGP11.phx.gbl...
Mesdames, Messieurs,
Voici la question :
J'ai réalisé une Application en mdb sur un PC avec :
Windows XP et Office XP ( Access 2002 et Word 2002).
Cette application fonctionne sans aucun problème.
J'ai voulu installer cette Application sur un autre poste sous Windows
2000
pro.
Comme ça plantait ou ne marchait pas correctement selon l'utilisation,
j'ai
désinstallé et réinstallé Office ( avec Access 2002 et Word 2002 dont j'ai
absolument besoin dans mon Appli).
Comme ça ne fonctionnait toujours pas, je suis allé voir, sur les conseils
pris sur ce NG, si les références étaient correctes.
Effectivement la référence Microsoft ActiveX Data Objects n'était pas la
même (2.1 au lieu de 2.5).
J'ai donc installé la bonne référence ( fichier msado25.tlb ).
LA question : TOUTES choses étant égales, ça marche sur un PC et PAS sur
l'autre, OU est le problème ?
Je n'ai pas eu le temps de lire toutes les réponses qui vous ont déjà été données, puisque vous avez posé cette question plusieurs fois.
Cependant je vous rappelle que pour augmenter la portabilité de votre application Access 2002 qui pilote via automation Excel et Word, vous devriez utiliser la technique dite "late binding" au lieu d'utiliser la technique "early binding". Pour plus d'informations, consultez la page Web suivante : http://support.microsoft.com/default.aspx?scid=KB;EN-US;247579
En fait j'ai noté dans votre code source que vous panachiez l'usage du late binding et du early binding pour une même référence (Word par exemple).
Ainsi j'ai vu votre code source ci-dessous : Dim wdApp As Word.Application Set wdApp = CreateObject("Word.Application")
En early binding classique, le code devrait être : Dim wdApp As Word.Application Set wdApp = new Word.Application
Mais je vous recommande de décocher la référence vers Word afin d'utiliser le "late binding" : Dim wdApp As Object Set wdApp = CreateObject("Word.Application")
D'autre part je vous conseille de décocher la référence vers MSO.DLL si elle est inutile, et dans le cas contraire de comparer la version de cette DLL sur les deux postes concernés.
Pour isoler le problème vous devriez tester sur le poste cible Windows 2000, dans une base vierge générée et compilée sur votre poste (puis éventuellement recompilée sur le poste cible), une petite partie de votre code VBA qui piloterait Word en ne conservant que la référence vers Word (outre les références Access et VBA). Puis recommencer de même avec une petite partie de votre code VBA, dans une autre base vierge, qui piloterait Excel en ne conservant que la référence vers Excel (outre les références Access et VBA). Puis recommencer de même avec une petite partie de votre code VBA, dans une autre base vierge, qui utiliserait MSO.DLL en ne conservant que la référence vers MSO.DLL (outre les références Access et VBA).
Enfin je vous rappelle que si Word (par exemple) n'est pas correctement installé sur une station de travail, il est normal d'obtenir des erreurs lorsque vous tenter de le piloter via Automation. Quand vous comparez sur deux postes le fonctionnement d'Access 2002 avec Excel 2002 et Word 2002, il est important de vérifier les versions exactes d'Office XP (quels Service Packs avez-vous installé pour Office XP ?) sur ces deux postes.
Benoit Compoint
"" wrote in message news:
Mesdames, Messieurs,
Voici la question :
J'ai réalisé une Application en mdb sur un PC avec : Windows XP et Office XP ( Access 2002 et Word 2002). Cette application fonctionne sans aucun problème. J'ai voulu installer cette Application sur un autre poste sous Windows 2000
pro. Comme ça plantait ou ne marchait pas correctement selon l'utilisation, j'ai
désinstallé et réinstallé Office ( avec Access 2002 et Word 2002 dont j'ai absolument besoin dans mon Appli). Comme ça ne fonctionnait toujours pas, je suis allé voir, sur les conseils pris sur ce NG, si les références étaient correctes. Effectivement la référence Microsoft ActiveX Data Objects n'était pas la même (2.1 au lieu de 2.5). J'ai donc installé la bonne référence ( fichier msado25.tlb ). LA question : TOUTES choses étant égales, ça marche sur un PC et PAS sur l'autre, OU est le problème ?