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 :

Mise au jour automatique d'une base frontale [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Points : 12
    Points
    12
    Par défaut Mise au jour automatique d'une base frontale
    Bonjour à tous,

    J'essaie d'utiliser la super contribution de naphta (http://www.developpez.net/forums/d81...rnative-n-2-a/).

    Il s'agit pour faire simple d'un code VBA créant un fichier BAT temporaire pour mettre à jour automatiquement une base frontale (en allant comparer avec une version sur serveur)

    Le code se déroule parfaitement bien ... il repère bien la nouvelle version ... redémarre ... mais finalement ne copie rien du tout. Il ouvre l'ancienne base qui n'a pas été remplacée. Pourtant j'ai vérifié à chaque étape du code et les données générées sont bonnes et cohérentes.

    Avez-vous une idée d'où cela peut venir ? Je sèche depuis quelques heures là ... D'avance merci pour votre expérience et votre aide !

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 342
    Points : 23 801
    Points
    23 801
    Par défaut
    Pourrais-tu poster le code de ton .bat ?

    Est-ce que ta BD est bien fermée lors de la copie ?

    As-tu pu mettre à jour la BD en lançant .bat en manuel ?

    Plus généralement Pour débugger un .bat :
    1. Mettre la commande echo on en début et s'assurer qu'il n'y a plus de echo off qui masque les instructions.
    2. Mettre une instruction pause entre chaque instrcution du .bat permet d'attendre un appuis sur la touche [enetr] pour continuer.


    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Points : 12
    Points
    12
    Par défaut Effectivement...
    Bonsoir René

    J'ai testé le BAT généré, base fermée. Il ne copie pas plus le fichier.
    Ci-dessous le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SETLOCAL ENABLEDELAYEDEXPANSION
    SET /a counter=0
    :CHECKLOCKFILE
    ping 0.0.0.255 -n 1 -w 100 > nul
    SET /a counter+=1
    IF "!counter!"=="60" GOTO CLEANUP
    IF EXIST "%~f2.%4" GOTO CHECKLOCKFILE
    COPY J:\_CELLULE DESSIN\BASE DE DONNEES\GPB-SOURCE\ACCDE-V2\GESTION_DU_PATRIMOINE_BATI.accde C:\Users\Alex\Desktop\GESTION_DU_PATRIMOINE_BATI-V2.accde
    start " " "%~f2.%3"
    :CLEANUP
    del %0
    Déjà il semble qu'il y ait une erreur dans la syntaxe copy (manque les guillemets) mais cela ne résous pas le problème. (La ligne Copy seule fonctionne très bien !) Mais là mes connaissance en code BAT sont au point mort....

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Décembre 2012
    Messages : 17
    Points : 12
    Points
    12
    Par défaut Ha bah si ...
    Après plusieurs test il semble que l'absence de parenthèse soit déterminante et pose le problème.
    En effet, les variable du bat sont les paramètres de lancement qui sont aussi défini dans la procédure de naphta ... donc forcement si il ne trouve pas les chemin concernés ça ne pouvait pas fonctionner, du coup voila l'adaptation du code pour cela fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        If VerificationMaJ <> "Aucun" Then
            s = s & "COPY " & Chr(34) & VerificationMaJ & Chr(34) & " " & Chr(34) & Application.CurrentProject.FullName & Chr(34) & vbCrLf
        End If
    Je pense que naphta a du considéré des chemin sans espaces ... d'où le problème rencontré.

    Merci de m'avoir mis sur la piste René.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/09/2013, 13h02
  2. [MySQL] monitoring d'une base de données pour synchroniser une mise a jour automatique
    Par achraf.b.a dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 18/01/2013, 09h48
  3. Mise à jour automatique d'une base Mysql
    Par varely83 dans le forum Administration
    Réponses: 14
    Dernier message: 22/04/2011, 02h27
  4. mise a jour automatique d'une table
    Par boboss123 dans le forum jQuery
    Réponses: 5
    Dernier message: 15/12/2010, 13h18
  5. [Conception] mise à jour automatique d'une base de donné distante
    Par bipbip2006 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/06/2006, 16h45

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