Urgent : la classe ne gére pas automation ou interface attendu
25 réponses
Karine
Bonjour,
je n'est toujour pas resolu mon probleme concernant mon erreur 430 :
la classe ne gére pas automation ou interface attendu
cela devient urgent, j'ai maintenant 2 clients qui ne peuvent pas utiliser
le logiciel.
leur config : XP SP2 (es ce que cela provient du SP2 ?)
j'ai fais un test mais chez moi ca fonctionne.
le Mdac 2.8 à été installé, le 2.5, le 2.7 le 2.1 ...
je ne sais plus vers quelles pistes je doit aller.
cette erreur se produit au moment de la connexion :
Dim ADOConnection As ADODB.Connection
Set ADOConnection = New ADODB.Connection
Dim ADOSet As ADODB.Recordset
Set ADOSet = New ADODB.Recordset
j'utilise dans mon programme le jet 4.0
la dll installé est msado15.dll version 2.71.9030.0
et dans C:windowssystem32 la version est 2.71.9030.0
c'est le programme d'installation (installshield express) qui va prendre tous les fichiers du programme pour les installer dans le repertoire systeme et les enregistrer.
Il ne devrait pas. Il vaudrait mieux, à mon humble avis, configurer installshield express (si possible) pour qu'il lance le MDAC en mode silent, le MDAC étant systématiquement distribué avec votre application. IS Express a été conçu bien avant les dernières modifications du MDAC et bien avant le XP SP2. Tous ces problèmes ne sont pas pris en compte.
me conseil tu de supprimer le fichier que j'ai placer dans le repertoire system et de réenregistrer les autres fichiers se trouvant dans le repertoire commun ?
Oui. La version plus ancienne peut-être renommée ou supprimée mais ça ne changera rien. Ce qui compte, c'est que les entrées dans la registry pointent sur la bonne DLL. Par exemple, après ré-enregistrement des DLLs dans le répertoire commun, la clé
devrait pointer sur la bonne version (dans le répertoire commun).
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Karine wrote:
et dans C:windowssystem32 la version est 2.71.9030.0
c'est le programme d'installation (installshield express) qui va
prendre tous les fichiers du programme pour les installer dans le
repertoire systeme et les enregistrer.
Il ne devrait pas. Il vaudrait mieux, à mon humble avis, configurer
installshield express (si possible) pour qu'il lance le MDAC en mode
silent, le MDAC étant systématiquement distribué avec votre application.
IS Express a été conçu bien avant les dernières modifications du MDAC et
bien avant le XP SP2. Tous ces problèmes ne sont pas pris en compte.
me conseil tu de supprimer le fichier que j'ai placer dans le
repertoire system et de réenregistrer les autres fichiers se trouvant
dans le repertoire commun ?
Oui. La version plus ancienne peut-être renommée ou supprimée mais ça ne
changera rien. Ce qui compte, c'est que les entrées dans la registry
pointent sur la bonne DLL. Par exemple, après ré-enregistrement des DLLs
dans le répertoire commun, la clé
et dans C:windowssystem32 la version est 2.71.9030.0
c'est le programme d'installation (installshield express) qui va prendre tous les fichiers du programme pour les installer dans le repertoire systeme et les enregistrer.
Il ne devrait pas. Il vaudrait mieux, à mon humble avis, configurer installshield express (si possible) pour qu'il lance le MDAC en mode silent, le MDAC étant systématiquement distribué avec votre application. IS Express a été conçu bien avant les dernières modifications du MDAC et bien avant le XP SP2. Tous ces problèmes ne sont pas pris en compte.
me conseil tu de supprimer le fichier que j'ai placer dans le repertoire system et de réenregistrer les autres fichiers se trouvant dans le repertoire commun ?
Oui. La version plus ancienne peut-être renommée ou supprimée mais ça ne changera rien. Ce qui compte, c'est que les entrées dans la registry pointent sur la bonne DLL. Par exemple, après ré-enregistrement des DLLs dans le répertoire commun, la clé
devrait pointer sur la bonne version (dans le répertoire commun).
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Karine
j'ai testé ce que tu ma dis sur une machine ,
1-Renomé la dll du repertoire system32 en .old 2-Reenregistrer toutes les dll du repertoire commun ADO 3-j'ai rebooté 4-quand je lance mon appli j'ai un autre message, cette fois ci il passe bien dans : Dim ADOConnection As ADODB.Connection Set ADOConnection = New ADODB.Connection Dim ADOSet As ADODB.Recordset Set ADOSet = New ADODB.Recordset
Par contre il plante : ADOSet.Open "MATABLE", ADOConnection
le message est Invalid SQL Statement; expected 'DELETE', 'INSERT' ...
connais tu ce message ?
Merci de m'avoir repondu avec autant de precision cela m'a beaucoup aidé.
"Patrick Philippot" a écrit :
Karine wrote: > et dans C:windowssystem32 la version est 2.71.9030.0 > > c'est le programme d'installation (installshield express) qui va > prendre tous les fichiers du programme pour les installer dans le > repertoire systeme et les enregistrer.
Il ne devrait pas. Il vaudrait mieux, à mon humble avis, configurer installshield express (si possible) pour qu'il lance le MDAC en mode silent, le MDAC étant systématiquement distribué avec votre application. IS Express a été conçu bien avant les dernières modifications du MDAC et bien avant le XP SP2. Tous ces problèmes ne sont pas pris en compte.
> me conseil tu de supprimer le fichier que j'ai placer dans le > repertoire system et de réenregistrer les autres fichiers se trouvant > dans le repertoire commun ?
Oui. La version plus ancienne peut-être renommée ou supprimée mais ça ne changera rien. Ce qui compte, c'est que les entrées dans la registry pointent sur la bonne DLL. Par exemple, après ré-enregistrement des DLLs dans le répertoire commun, la clé
devrait pointer sur la bonne version (dans le répertoire commun).
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
j'ai testé ce que tu ma dis sur une machine ,
1-Renomé la dll du repertoire system32 en .old
2-Reenregistrer toutes les dll du repertoire commun ADO
3-j'ai rebooté
4-quand je lance mon appli j'ai un autre message,
cette fois ci il passe bien dans :
Dim ADOConnection As ADODB.Connection
Set ADOConnection = New ADODB.Connection
Dim ADOSet As ADODB.Recordset
Set ADOSet = New ADODB.Recordset
Par contre il plante :
ADOSet.Open "MATABLE", ADOConnection
le message est Invalid SQL Statement; expected 'DELETE', 'INSERT' ...
connais tu ce message ?
Merci de m'avoir repondu avec autant de precision cela m'a beaucoup aidé.
"Patrick Philippot" a écrit :
Karine wrote:
> et dans C:windowssystem32 la version est 2.71.9030.0
>
> c'est le programme d'installation (installshield express) qui va
> prendre tous les fichiers du programme pour les installer dans le
> repertoire systeme et les enregistrer.
Il ne devrait pas. Il vaudrait mieux, à mon humble avis, configurer
installshield express (si possible) pour qu'il lance le MDAC en mode
silent, le MDAC étant systématiquement distribué avec votre application.
IS Express a été conçu bien avant les dernières modifications du MDAC et
bien avant le XP SP2. Tous ces problèmes ne sont pas pris en compte.
> me conseil tu de supprimer le fichier que j'ai placer dans le
> repertoire system et de réenregistrer les autres fichiers se trouvant
> dans le repertoire commun ?
Oui. La version plus ancienne peut-être renommée ou supprimée mais ça ne
changera rien. Ce qui compte, c'est que les entrées dans la registry
pointent sur la bonne DLL. Par exemple, après ré-enregistrement des DLLs
dans le répertoire commun, la clé
1-Renomé la dll du repertoire system32 en .old 2-Reenregistrer toutes les dll du repertoire commun ADO 3-j'ai rebooté 4-quand je lance mon appli j'ai un autre message, cette fois ci il passe bien dans : Dim ADOConnection As ADODB.Connection Set ADOConnection = New ADODB.Connection Dim ADOSet As ADODB.Recordset Set ADOSet = New ADODB.Recordset
Par contre il plante : ADOSet.Open "MATABLE", ADOConnection
le message est Invalid SQL Statement; expected 'DELETE', 'INSERT' ...
connais tu ce message ?
Merci de m'avoir repondu avec autant de precision cela m'a beaucoup aidé.
"Patrick Philippot" a écrit :
Karine wrote: > et dans C:windowssystem32 la version est 2.71.9030.0 > > c'est le programme d'installation (installshield express) qui va > prendre tous les fichiers du programme pour les installer dans le > repertoire systeme et les enregistrer.
Il ne devrait pas. Il vaudrait mieux, à mon humble avis, configurer installshield express (si possible) pour qu'il lance le MDAC en mode silent, le MDAC étant systématiquement distribué avec votre application. IS Express a été conçu bien avant les dernières modifications du MDAC et bien avant le XP SP2. Tous ces problèmes ne sont pas pris en compte.
> me conseil tu de supprimer le fichier que j'ai placer dans le > repertoire system et de réenregistrer les autres fichiers se trouvant > dans le repertoire commun ?
Oui. La version plus ancienne peut-être renommée ou supprimée mais ça ne changera rien. Ce qui compte, c'est que les entrées dans la registry pointent sur la bonne DLL. Par exemple, après ré-enregistrement des DLLs dans le répertoire commun, la clé
devrait pointer sur la bonne version (dans le répertoire commun).
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Patrick Philippot
Karine wrote:
cette fois ci il passe bien dans : Dim ADOConnection As ADODB.Connection ... Par contre il plante : ADOSet.Open "MATABLE", ADOConnection le message est Invalid SQL Statement; expected 'DELETE', 'INSERT' ...
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Karine wrote:
cette fois ci il passe bien dans :
Dim ADOConnection As ADODB.Connection
...
Par contre il plante :
ADOSet.Open "MATABLE", ADOConnection
le message est Invalid SQL Statement;
expected 'DELETE', 'INSERT' ...
cette fois ci il passe bien dans : Dim ADOConnection As ADODB.Connection ... Par contre il plante : ADOSet.Open "MATABLE", ADOConnection le message est Invalid SQL Statement; expected 'DELETE', 'INSERT' ...
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Patrick Philippot
Si l'argument source de RecordSet.Open n'est pas une commande SQL, il faut préciser son type dans l'argument Optiosn (ici adCmdTable ou adCmdTableDirect). Voir la doc.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
Si l'argument source de RecordSet.Open n'est pas une commande SQL, il
faut préciser son type dans l'argument Optiosn (ici adCmdTable ou
adCmdTableDirect). Voir la doc.
--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr
Si l'argument source de RecordSet.Open n'est pas une commande SQL, il faut préciser son type dans l'argument Optiosn (ici adCmdTable ou adCmdTableDirect). Voir la doc.
-- Patrick Philippot - Microsoft MVP MainSoft Consulting Services www.mainsoft.fr
me renvoi l'erreur suivante : "Record(s) cannot be read; no read permission on "MATABLE"
"Patrick Philippot" a écrit :
Karine wrote: > cette fois ci il passe bien dans : > Dim ADOConnection As ADODB.Connection > ... > Par contre il plante : > ADOSet.Open "MATABLE", ADOConnection > le message est Invalid SQL Statement; > expected 'DELETE', 'INSERT' ...
me renvoi l'erreur suivante :
"Record(s) cannot be read; no read permission on "MATABLE"
"Patrick Philippot" a écrit :
Karine wrote:
> cette fois ci il passe bien dans :
> Dim ADOConnection As ADODB.Connection
> ...
> Par contre il plante :
> ADOSet.Open "MATABLE", ADOConnection
> le message est Invalid SQL Statement;
> expected 'DELETE', 'INSERT' ...
me renvoi l'erreur suivante : "Record(s) cannot be read; no read permission on "MATABLE"
"Patrick Philippot" a écrit :
Karine wrote: > cette fois ci il passe bien dans : > Dim ADOConnection As ADODB.Connection > ... > Par contre il plante : > ADOSet.Open "MATABLE", ADOConnection > le message est Invalid SQL Statement; > expected 'DELETE', 'INSERT' ...