cs_amer_ezahir
Messages postés133Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention20 septembre 2010
-
16 sept. 2005 à 02:41
LABCODES
Messages postés8Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention19 septembre 2005
-
23 sept. 2005 à 07:22
salut les amis ;
svp j'ai besoin de votre aide ;
j'ai un problème avec mon application ; quand je l'ai installé sur pc qui ne contien pas de visual basic tout ça marche bien ;
mais quand j'ai changé du poste sachant que ce dernier a le même System d'exploitation 'XP proffessionel service Pack 2' il me donne l'erreur ci-dessous quand je veux afficher une état 'datareport' avec ADO 2.7 :
Erreur d'execution '372'
impossible de charger le contrôle 'DataReport' à partir de C:\windows\system32\MSDBRPTR.DLL. votre version de C:\WINDOWS\System32\MSDBRPTR.DLL est peut être obsolète. vérifier que vous utilisez la version du contrôle fournie avec votre application.
LABCODES
Messages postés8Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention19 septembre 2005 16 sept. 2005 à 10:32
Bonjour,
Voilà le problème auquel je ne trouve pas de solution, après pas mal de recherches.
J'ai créé deux applications sous Access 2000 (en n'utilisant pas toujours le même poste de travail et la même version. Les références Adox étant différentes, il me fallait donc les changer lorsque je passais à une version antérieure). Mais tout fonctionne normalement dans cet environnement.
La base des données se trouve sur le serveur et la base programme sur le poste de travail.
Je fais la migration vers Access 2003, environnement Xp professional.
Lorsque lance une requête Sql (surle même poste), dans une des deux applications; je me retrouve avec une erreur d'exécution 3709 "Impossible d'utiliser cette connexion pour effectuer cette opération. Elle est fermée ou non valide dans ce contexte".
Curieusement dans l'autre application, cela fonctionne normalement. A noter que sur un autre poste, j'ai systématiquement l'erreur.
J'ai vérifié les références, elles sont totalement identiques et dans le même ordre. L'ouverture de la base s'effectue de la même façon et les requêtes sont écrites également de façon identique.
Alors, je ne comprends pas.
Je cherche mais ne trouve pas.
Si quelqu'un a une idée !
LABCODES
Messages postés8Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention19 septembre 2005 16 sept. 2005 à 17:03
Merci pour la piste. Entre temps, jJ'ai encore fait différents essais :
<LI>en convertissant la base en question</LI>
<LI>en créant une nouvelle base et en important tout le contenu de la base programme.</LI>
Toujours la même erreur.
Ce qui est curieux c'est que cela fonctionne dans un programme et pas dans l'autre.
J'explore la piste
Lab Codes
Vous n’avez pas trouvé la réponse que vous recherchez ?
Doro81079
Messages postés380Date d'inscriptionvendredi 22 avril 2005StatutMembreDernière intervention24 février 201556 17 sept. 2005 à 06:27
bonsoir,
pour labcodes le mieux pour toi c'est de faire un nouveau post pour avoir un maximum de réponse à ton problème et pour éviter que le problème de amer_ezahir ne soit pas zapper
pour amer_ezahir je te conseille de refaire le setup...
1 - tu ouvre l'exe avec findll pour savoir quel fichier sont nécessaires pour ton appli
2 - tu crés l'empactage avec vb6
3- tu te sert de istool et innosetup comme dans le tuto de darksidious
4-et dans istool tu corrige le code afin que tes dll et autres soit copiées dans le répertoire de l'appli de façon à ce que ton programme fonctionne même si les versions sont différentes (tu prend comme exemple les fichiers ou il est marquer app)
si tu n'as pas tout compris fais le moi savoir et je te mettrais un exemple....
Doro81079
Messages postés380Date d'inscriptionvendredi 22 avril 2005StatutMembreDernière intervention24 février 201556 18 sept. 2005 à 15:36
bonjour tout le monde,
pcpt=> au contraire je pense qu'il devrait refaire son installe afin que les fichiers (avec leur version) dont son appli à besoin soit copier pres de l'exe pour fonctionner correctement.....
et concernant les fichiers systèmes il vaut mieux eviter de les remplacer c'est pour ça que je lui conseille de les copiers dans le repertoire de son appli (j'ai déjà eu le prob)
amer => effectivement tu peux ,si tu aime le bricolage et rafistolage ,récuperer le fichier sur ton système et le copier sur celui de ton pote mais si tu doit distribuer ton appli à 50 personne et que ce problème le fait ne serait ce que sur le pc de 10 personnes ce genre de rafistolage ne fait pas sérieux
donc à toi de voir la solution qui te convient.......
LABCODES
Messages postés8Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention19 septembre 2005 18 sept. 2005 à 21:32
Doro et pcpt,
Merci pour vos conseils.
Effectivement, il doit s'agir d'un problème de version et de drivers.
Par contre, je n'utilise pas VBE pour ces applis. Je ne peux donc pas compiler.
Toutefois, disposant de VBE6 sur mon poste j'ai pu utiliser finddll. J'ai pu ainsi repérer les Dll qui sont affichées comme nécessaires à ces applications. Je ne suis toutefois pas certain que cela me donne précisement l'exhaustivité des dll.
En tout cas, je pourrai vérifier cela dès le début de la semaine qui vient (les postes sont au bureau).
Les postes utilisateurs disposent d'Access 2003. Cela marche marche sur certains postes pas sur d'autres.
En tout cas, je vais aller sur le tuto dont Doro m'a communiqué le lien.
Concernant l'envoi du message, c'est une erreur de manipulation. Avec mes excuses à Amer.
Doro81079
Messages postés380Date d'inscriptionvendredi 22 avril 2005StatutMembreDernière intervention24 février 201556 19 sept. 2005 à 02:31
bonsoir,
heu en fait c'était pour AMER donc voila aussi pourquoi il vaut mieux poster dans un nouveau
pour toi je ne pense pas que ça vienne de ça mais du fait que tu es passer à access 2003.....
bon là ça va être une question bête : est ce que tu es sûr que tu ouvres bien cette connection??
moi j'ai déjà eu cette erreur, mais dans un moment d'inattention un peu speed ou je n'avais pas mis base.open (ça arrive j'oublis même le r a string et je cherche pendant 1 heure)
donc le mieux, c'est que tu nous montres le code d'ouverture à ta base de données,
si ce n'est pas ça ,ça vient certainement de la syntaxe qui est différente avec access2003(si c'est du vba)
et sinon c'est comme te l'as dit TBBUIM1 un problème de driver ou autres, et là le mieux c'est d'aller voir sur microsoft....
LABCODES
Messages postés8Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention19 septembre 2005 19 sept. 2005 à 10:54
Bonjour,
Cest dur, dur dur !
Je nai pas encore trouvé la solution.
Ci-après mon code
Pour information, une autre requête sql dans ma base programme qui fonctionnait ne fonctionne plus (que ce soit sous access 2000 dans le même environnement ou access 2003).
Je minterroge maintenant sur lexistence de certains paramètres dans la base programme.
MODULE DE CLASSEOUVERTUREFERMETUREBASES
La procédure ci-dessous est appelée lorsque je veux lancer une requête sql
elle permet douvrir la base de données qui est séparée de la base programme'ouverte
Public Sub OuvertureBasedonnées()
' ouverture de la base de données
' les variables connection et catalog sont déclarées publiquement
LABCODES
Messages postés8Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention19 septembre 2005 19 sept. 2005 à 10:54
Bonjour,
Cest dur, dur dur !
Je nai pas encore trouvé la solution.
Ci-après mon code
Pour information, une autre requête sql dans ma base programme qui fonctionnait ne fonctionne plus (que ce soit sous access 2000 dans le même environnement ou access 2003).
Je minterroge maintenant sur lexistence de certains paramètres dans la base programme.
MODULE DE CLASSEOUVERTUREFERMETUREBASES
La procédure ci-dessous est appelée lorsque je veux lancer une requête sql
elle permet douvrir la base de données qui est séparée de la base programme'ouverte
Public Sub OuvertureBasedonnées()
' ouverture de la base de données
' les variables connection et catalog sont déclarées publiquement
LABCODES
Messages postés8Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention19 septembre 2005 23 sept. 2005 à 07:22
Bonjour,
Ne cherchez plus. J'ai trouvé.
Bougre d'idiot que je suis.
Dans le module CLASSEOUVERTUREFERMETUREBASES, je n'ai pas prévu de Case Else. Donc toutes les erreurs autres que 3705 n'étaient pas gérées, et surtout ne donnaient pas lieu à l'affichage d'un messaged'erreur. Or je m'étais trompé dans le nom de la base de données.
Donc le message d'erreur apparaissait dans l'instruction suivante qui appelait le fichier.
Tout est rentré dans l'ordre.
La leçon à retenir est qu'en matière de gestion d'erreurs, il faut toujours prévoir l'imprévisible, donc ne pas oublier Case Else.
En tout cas merci pour vos contributions, j'ai quand même appris des choses.