Aller au contenu
  • Pas encore inscrit ?

    Pourquoi ne pas vous inscrire ? C'est simple, rapide et gratuit.
    Pour en savoir plus, lisez Les avantages de l'inscription... et la Charte de Zébulon.
    De plus, les messages que vous postez en tant qu'invité restent invisibles tant qu'un modérateur ne les a pas validés. Inscrivez-vous, ce sera un gain de temps pour tout le monde, vous, les helpeurs et les modérateurs ! :wink:

Erreur sur script VBS


babs22

Messages recommandés

bonjour

je cherche à adapter un petit logiciel (mmBd) réalisé en vbs qui me permettait de synchroniser ma collection de bandes dessinées (gérée avec logiciel BD Gest) sur mon Palm T7

cet addon fonctionnait parfaitement tant que j'étais sous windows XP

quand je suis passé sous W7 j'ai dû trouver comment faire fonctionner le Palm (ça marche)

mais j'ai toujours un pb avec l'addon qui ne se synchronise pas : j'ai vérifié tous les paramètres de registre ils sont bons

je suspecte un pb de langage de visual basic sous seven

 

voila le script:

Dim c, s, t

Set oShl = CreateObject("WScript.Shell")

s = "HKEY_CURRENT_USER\Software\BD GEST 7\BDGest\CheminBase"

s = oShl.RegRead(s)

c = "HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\mmBd\db"

c = oShl.RegRead©

' t = "HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\mmBd\temp"

' t = oShl.RegRead(t)

 

'free Shell

Set oShl = Nothing

 

Set objFSO = CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.GetFile©

 

c=objFile.ShortPath

 

Set objFile = objFSO.GetFile(s)

s=objFile.ShortPath

 

Set MyDB = CreateObject("ADODB.Connection")

MyDB.Open "DBQ="&c&";DRIVER={Microsoft Access Driver (*.mdb)};"

'1) Delete the content of the table series

MyDB.Execute("delete from series")

'2) Import the content of the main table

MyDB.Execute("insert into series (idserie,titre,Style,NoteDessin,NoteScenario,Commentaire,NoteGlobale,Planche,Internet,Encours,MajBEL) select idserie,titre,Style,NoteDessin,NoteScenario,Commentaire,NoteGlobale,Planche,Internet,Encours,MajBEL from ["&s&"].[series]")

'3) Delete the content of the table series

MyDB.Execute("delete from albums")

'4) Import the content of the main table

MyDB.Execute("insert into Albums (IdAlbum, Num, Titre, IdSerie, IdDessinateur, IdScenariste, DateAchat, PrixAchat, Editeur, Etat, Format, EdO, HorsSerie, Integrale, EditionLimitee, Collection, CoteActuelle, Reference, DL, Commentaire, Couverture, Possede, NoteAlbum, IdColoriste, Broche, Dedicace, Exlibris, NbPages, Perso1, Perso2, Perso3, NumA, Perso4, Prete, serieTitre) Select A.IdAlbum, A.Num, A.Titre, A.IdSerie, A.IdDessinateur, A.IdScenariste, A.DateAchat, A.PrixAchat, A.Editeur, A.Etat, A.Format, A.EdO, A.HorsSerie, A.Integrale, A.EditionLimitee, A.Collection, A.CoteActuelle, A.Reference, A.DL, A.Commentaire, A.Couverture, A.Possede, A.Appreciation, A.IdColoriste, A.Broche, A.Dedicace, A.Exlibris, A.NbPages, A.Perso1, A.Perso2, A.Perso3, A.NumA, A.Perso4, A.Prete, S.Titre FROM ["&s&"].[albums] as A, ["&s&"].[series] as S where A.IdSerie=S.IdSerie and A.AAcheter=0" )

'5) Delete the content of the table auteurs

MyDB.Execute("delete from auteurs")

'6) Import the content of the main table

MyDB.Execute("insert into auteurs (IdAuteur, Nom, Prenom, Surnom, DateNaissance, DateDeces, Pays, Pseudo, Commentaire, Scenario, Dessin, Couleur, Internet, tri) select IdAuteur, Nom, Prenom, Surnom, DateNaissance, DateDeces, Pays, Pseudo, Commentaire, Scenario, Dessin, Couleur, Internet,iif(Pseudo<>'',Pseudo,Nom) from ["&s&"].[auteurs]")

'7) Delete the content of the table series

MyDB.Execute("delete from acheter")

'8) Import the content of the main table

MyDB.Execute("insert into Acheter (IdAlbum, Num, Titre, IdSerie, IdDessinateur, IdScenariste, DateAchat, PrixAchat, Editeur, Etat, Format, EdO, HorsSerie, Integrale, EditionLimitee, Collection, CoteActuelle, Reference, DL, Commentaire, Couverture, Possede, NoteAlbum, IdColoriste, Broche, Dedicace, Exlibris, NbPages, Perso1, Perso2, Perso3, NumA, Perso4, Prete, serieTitre) Select A.IdAlbum, A.Num, A.Titre, A.IdSerie, A.IdDessinateur, A.IdScenariste, A.DateAchat, A.PrixAchat, A.Editeur, A.Etat, A.Format, A.EdO, A.HorsSerie, A.Integrale, A.EditionLimitee, A.Collection, A.CoteActuelle, A.Reference, A.DL, A.Commentaire, A.Couverture, A.Possede, A.Appreciation, A.IdColoriste, A.Broche, A.Dedicace, A.Exlibris, A.NbPages, A.Perso1, A.Perso2, A.Perso3, A.NumA, A.Perso4, A.Prete, S.Titre FROM ["&s&"].[albums] as A, ["&s&"].[series] as S where A.IdSerie=S.IdSerie and A.AAcheter=1" )

MyDB.Close

 

et voici le message d'erreur

Script: E\BDGEST7\mmbd\mmBd.vbs

Ligne: 22

Caract: 1

Erreur: [Microsoft][Gestionnaire de pilote ODBC] Source de données introuvables et nom de pilote non spécfié

Code: 80004005

Source: Microsoft OLE DB Provider for ODBC Drivers

 

si quelqu'un sait me dire ce que je dois corriger je lui en serai très reconnaissant

Merci d'avance

Babs

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Le problème vient de cette ligne : MyDB.Open "DBQ="&c&";DRIVER={Microsoft Access Driver (*.mdb)};"

Visiblement le driver pour les bases de données Access n'est pas installé, tu devrais pouvoir le rajouter depuis le panneau de config.

Si tu es sous 7/64 et que tu ne peux pas rajouter de drivers, essaie de le faire en lançant la version 32 bits : x:\windows\SysWOW64\odbcsys32.exe (X est à remplacer par la lettre de ton lecteur système)

Lien vers le commentaire
Partager sur d’autres sites

Bonjour

merci de votre réponse

voila ce que j'ai fait

exécuter > c:\windows\syswow64\odbcad32.exe

la fenêtre suivante s'est ouverte : Administrateur de source de données odbc

j'ai cliqué sur ajouter j'ai choisi Microsoft Access driver (il en y avait déjà un appelé MS Access Database)

je lui ai donné un nom et j'ai sélection ma base de données par le bouton "sélectionner", maintenant il est indiqué : E\BDGEST7\MaCollection.mdb

j'ai validé et redémarrer : la synchro ne marche pas

du coup j'ai aussi ajouter un driver Microsoft Access pour mmbd.mdb en pointant sur le dossier qui contient cette base

et ça ne marche pas non plus

est-ce qu'il y a des paramètres à changer sur les drivers Microsoft Access : je nse suis pas du tout compétent et je ne veux pas faire de bêtise

merci de votre aide

babs

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Est-ce que tu as essayé d'abord de faire cette manip avec l'utilitaire 64 bit ?

 

Fais aussi un essai en lançant ton script avec de droits d'administration.

 

Edit : Il faut peut-être aussi lancer ton script avec la version 32 bit de Cscript ou de Wscript

Ta commande devrait ressembler à ça :

C:\WINDOWS\SysWOW64\Cscript.exe E\BDGEST7\mmbd\mmBd.vbs

Modifié par Loup blanc
Lien vers le commentaire
Partager sur d’autres sites

bonjour et merci de ton aide

comme je l'ai dit je touche très largement les limites de ma compétence informatique avec ce sujet

voila ce que j'ai fait avec tes conseils

j'ai vérifié j'ai bien Wscript.exe et Cscript.exe dans le dossier syswow64

j'ai ouvert la fenêtre de commande dos

et j'ai saisi : E:\>C:\WINDOWS\SysWOW64\Cscript.exe BDGEST7\mmbd\mmBd.vbs car avec la commande indiquée il me disait ne pas trouver les fichiers

en faisant ça l'ordi a eu un temps de "r"flexion" puis j'ai vu s'afficher la version du script host sous la forme "Microsoft ®windows script jost version 5.8 et ligne en dessous "copyright © microsoft ...."

j'ai lancé le logiciel hotsync en tant qu'administrateur et refait une synchro sans succès

 

pour l'utilitaire 64bits je ne sais pas ce que c'est ni où il est rangé

 

merci

Babs

Lien vers le commentaire
Partager sur d’autres sites

Ma commande n'était pas complète, j'avais oublié un caractère (le ":" devant le "E") :

C:\WINDOWS\SysWOW64\Cscript.exe E:\BDGEST7\mmbd\mmBd.vbs

 

Fait un essai (avec cette commande).

Si ça ne donne rien, fais en d'autres en supprimant les différentes lignes que tu as ajouté dans le panneau d'administration ODBC (toujours par : c:\windows\SysWOW64\odbcsys32.exe)

 

Edit : Peux-tu aussi regarder les chemins stockés dans ces trois clés:

"HKEY_CURRENT_USER\Software\BD GEST 7\BDGest\CheminBase"

"HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\mmBd\db"

"HKEY_CURRENT_USER\Software\U.S. Robotics\Pilot Desktop\mmBd\temp

Modifié par Loup blanc
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.
Remarque : votre message nécessitera l’approbation d’un modérateur avant de pouvoir être visible.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...