IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Executer un batch file via access


Sujet :

VBA Access

  1. #1
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Par défaut Executer un batch file via access
    Bonjour a tous et a toutes,

    j'aimerais svp avoir votre aide sur un point particulier concernant l'execution d'un batch file stocker dans mon ordinateur local.

    J'ai un bouton access, qui, lorsque je clique dessus, lance mon batch file (runkhalix.bat) sans aucun problème comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "C:\Documents and Settings\Mimosa\Desktop\AK-TEST\runkhalix.bat", vbNormalFocus
    Le seul petit problème qui m'arrive est que lorsque je lance le batch file a partir d'access, celui-ci se lance bien mais me donne toujorus comme erreur un truc du genre : Unable to open message file (klxstr.msg)
    Ne vous en faites pas avec ce fichier klxstr.msg, il se doit d'être toujours présent dans repertoire ou il ya le batch file a executer.

    Par ailleurs, si je clique directement sur le batch file (runkhalix.bat) directement dans le repertoire, il s'execute sans aucun probleme. Je comprends pas pourquoi il ne s'execute pas de la meme facon a partir de mon code VBA dans Access alors que je m'assure que je mets exactement le meme chemin d'accès, sinon de toute facon, le fichier batch ne s'ouvrirait meme pas je suppose.

    Voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    Private Sub Command14_Click()
    'Creation fichier texte
    Dim r As FileSystemObject
    Set r = New FileSystemObject
    r.CreateTextFile "C:\Documents and Settings\z70914\Desktop\AK-TEST\Creer_Utilisateur.txt"
    r.CreateTextFile "C:\Documents and Settings\z70914\Desktop\AK-TEST\Connect_Procedure.txt"
     
    'insertion code pour creation de l'utilisateur
    Open "C:\Documents and Settings\Mimosa\Desktop\AK-TEST\Creer_Utilisateur.txt" For Output As #1
    Print #1, "MAINTENANCE ON"
    Print #1, "CREATE USER Zestosa ""Arnoldew Zestosa"" zxcvbn11 zxcvbn11"
    Print #1, "MAINTENANCE OFF"
    Close #1
     
    'insertion code pour se connecter a la base khalix et execution prodecure de creation
    Open "C:\Documents and Settings\Mimosa\Desktop\AK-TEST\Connect_Procedure.txt" For Output As #1
    Print #1, "Connect z70914/qwerty777 srv41101a06 13001 klxtst"
    Print #1, "run procedure Creer_Utilisateur.txt"
    Close #1
     
    Shell "C:\Documents and Settings\Mimosa\Desktop\AK-TEST\runkhalix.bat", vbNormalFocus
     
    MsgBox "L'utilisateur a été ajouté avec succès !"
    End Sub
    J'essaie juste de comprendre pourquoi il s'execute bien quand je clique directement sur le fichier batch dans le repertoire AK-TEST et qu'il ne s'execute pas comme il le faut a partir de ma commande Shell dans Access.

    Merci d'avance de votre aide.

  2. #2
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    et si tu essaies
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Shell "cmd /c C:\Documents and Settings\Mimosa\Desktop\AK-TEST\runkhalix.bat", vbNormalFocus

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Par défaut
    Je m'excuse cafeine. J'ai parlé un peu vite. Cela ne marche toujours pas. Il me retourne pas de valeur. Le fenetre cmd se ferme automatiquement apres avoir cliquer sur le bouton ok. Je pensais que cela a marcher vu que je ne voyais plus l'erreur mais on dirait que la batch n'est pas lancé correctement.

    Comment se fait-il que lorsque je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "cmd /c C:\Documents and Settings\z70914\Desktop\AK-TEST\runkhalix.bat", vbNormalFocus
    , la fenetre CMD disparait et qu'avec cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Shell "C:\Documents and Settings\z70914\Desktop\AK-TEST\runkhalix.bat", vbNormalFocus
    , elle reste la. Vu que j'ai mis Pause dans mon fichier batch, ca devrait rester ouvert non. Je ne comprends pas bien ce que fais Shell "cmd /c ...

    Connaitrais tu la logique de pourquoi mon batch fonctionne parfaitement bien quand je clique directement dessus et non via Access en utilisant Shell.

    Merci de ton aide.

  4. #4
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Sinon, tu peux essayer un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ChDir "C:\Documents and Settings\z70914\Desktop\AK-TEST\"
    avant, j'ai remarqué que les Batch aiment mieux ...

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Par défaut
    Effectivement, en ajoutant chdir, cela marche impeccable. Je te remercie enormement pour ton aide. Très apprecié de ta part Cafeine!

    Merci

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 175
    Par défaut
    Citation Envoyé par cafeine Voir le message
    Sinon, tu peux essayer un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ChDir "C:\Documents and Settings\z70914\Desktop\AK-TEST\"
    avant, j'ai remarqué que les Batch aiment mieux ...
    Bonjour,
    j'ai ce même problème, le batch fonctionne très bien quand je double-clique mais je n'ai aucun résultat avec la fonction Shell.

    Peux-tu expliquer un peu plus où il faut rajouter la ligne "ChDir..." ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. se connecter à un serveur ftp via un batch file
    Par younek dans le forum Windows
    Réponses: 7
    Dernier message: 05/11/2008, 11h55
  2. Execution de requete Excel via Access
    Par MuadDib_II dans le forum VBA Access
    Réponses: 8
    Dernier message: 11/08/2008, 15h27
  3. Déploiement de fichier de configuration via batch file
    Par spynux dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 27/05/2008, 22h40
  4. Réponses: 8
    Dernier message: 23/01/2007, 21h02
  5. Executer macros Excel via Access
    Par Echizen1 dans le forum Access
    Réponses: 7
    Dernier message: 20/09/2006, 15h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo