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

  1. #1
    Membre habitué
    Lancer un fichier *.bat et fermer la base de données active
    Bonjour,

    J'aimerais pouvoir lancer un fichier *.bat

    Ce fichier copie et puis lance une base de données Access, pour info, le fichier fonctionne très bien quand je le lance directement.

    J'ai essayé d'utiliser ce code pour lancer le fichier *.bat, mais...
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    Call Shell(Application.CurrentProject.Path & "\Mise à jour Util and Start LOG.bat", 1)
    Application.Quit


    Le fichier *.bat se lance, mais Access se ferme juste après, logique avec
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Application.Quit


    Donc quand je supprime Application.Quit, cela fonctionne mais ma première base de données, celle ou se trouve se code reste ouverte et j'aimerais qu'elle se ferme...

    Le top serait que le code :
    1. lance le fichier *.bat
    2. ferme la base de données active pour laisse "la place" à l'autre base de données et le graal serait sans fermer Access...



    Merci d'avance pour votre aide...

  2. #2
    Rédacteur/Modérateur

    Bonjour,

    Pour contrôler une application Access, tu peux faire :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Dim objAccess As New Access.Application ' créé une instance de l'application Access
     
        objAccess.OpenCurrentDatabase (cheminbase) ' ouvre la base de chemin cheminbase
     
        ....
     
        objAccess.Quit ' ferme l'application : optionnel
        Set objAccess = Nothing ' libère la variable


    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information en abondance, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Un formulaire de contrôle des disponibilités du matériel sur une période donnée :
    Disponibilité du matériel

    ça permet de voir l'état du "stock" de matériel maintenant et dans le futur

    Portez-vous bien !

  3. #3
    Membre habitué
    Bonjour,

    Rien ne se passe, le fichier *.bat ne se lance pas...

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim objAccess As New Access.Application ' créé une instance de l'application Access
    objAccess.OpenCurrentDatabase (Application.CurrentProject.Path & "\Mise à jour Util and Start LOG.bat") ' ouvre la base de chemin cheminbase
    objAccess.Quit ' ferme l'application : optionnel
    Set objAccess = Nothing ' libère la variable

  4. #4
    Rédacteur/Modérateur

    Non, non, c'est le chemin de la base courante qu'il faut mettre.

    Je vais tester de mon côté et reviens plus tard...
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information en abondance, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Un formulaire de contrôle des disponibilités du matériel sur une période donnée :
    Disponibilité du matériel

    ça permet de voir l'état du "stock" de matériel maintenant et dans le futur

    Portez-vous bien !

  5. #5
    Rédacteur/Modérateur

    Pouvez-vous donner le code du fichier batch ?

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information en abondance, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Un formulaire de contrôle des disponibilités du matériel sur une période donnée :
    Disponibilité du matériel

    ça permet de voir l'état du "stock" de matériel maintenant et dans le futur

    Portez-vous bien !

  6. #6
    Membre habitué
    Code bat :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    @echo off
    echo Mise à jour en cours... veuillez patienter...
    copy "F:\Data BASES\BASE_DE_DONNEES_FIRMES_FOURNISSEURS\UTILS-MAJ\FIRMESF_SEP-UTILS.accdb" "%UserProfile%\Documents\LBP_BD\FIRMESF_SEP-UTILS.accdb"
    echo Mise à jour terminée... veuillez patienter...
    echo Ouverture de la base FIRMES FOURNISSEURS... veuillez patienter...
    start %UserProfile%\Documents\LBP_BD\FIRMESF_SEP-UTILS.accdb"


    Ps : pour le moment je n'ai trouvé que ça qui fonctionnait pour lancer le *.bat...
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Call Shell(Application.CurrentProject.Path & "\Mise à jour Util and Start LOG.bat", 1)

  7. #7
    Rédacteur/Modérateur

    Peut-être essayer comme ceci :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    Call Shell(Application.CurrentProject.Path & "\Mise à jour Util and Start LOG.bat", 1)
     
    Application.CloseCurrentDatabase
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information en abondance, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Un formulaire de contrôle des disponibilités du matériel sur une période donnée :
    Disponibilité du matériel

    ça permet de voir l'état du "stock" de matériel maintenant et dans le futur

    Portez-vous bien !

  8. #8
    Membre habitué
    Trop fort... ça fonctionne merci

    Belle journée