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 :

[VBA-SQL]Sauvegarde automatique Dorsale


Sujet :

VBA Access

  1. #1
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Par défaut [VBA-SQL]Sauvegarde automatique Dorsale
    Bonjour,

    Ma base est divisée en Dorsale/Frontale, et j'aimerais automatiquement que tous les 15 jours, ça me rapatrie ma base Dorsale (qui se trouve sur le réseau), sur C:

    Je suppose que ça doit se faire en VBA, et qu'une macro ne pourra rien y faire, mais j'ai pas trop d'idée sur la tête que doit avoir le code :/

    Merci

  2. #2
    Membre habitué
    Homme Profil pro
    retraité
    Inscrit en
    Octobre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : retraité
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10
    Par défaut
    va voir sur ce site
    http://www.actionaccess.fr/tutorial1.php
    et inspire-toi de cet exemple

  3. #3
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Créer une table tblFichiers qui contient 2 champs : fichier (Texte) et jour (Date)
    La base sera archivée dans un dossier Archives sous le format NomBaseAAMMJJ.mdb (AA:annee, MM:mois,JJ:jour)

    Appel de la fonction avec comme paramètre le nom de la base avec son chemin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     Call sauvegarde("NomDeLaBaseAArchiver")

    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
    25
    26
    27
    28
    29
     
    Sub sauvegarde(NomBase As String)
     Dim repertoire As String, fichier As String, s As String
     Dim t As DAO.Recordset, DateDerniereSauvegarde As Date
     
     repertoire = Left$(NomBase, InStrRev(NomBase, "\"))
     If Dir(repertoire & "archives", vbDirectory) = "" Then MkDir repertoire & "archives"
     NomBase = Mid$(NomBase, InStrRev(NomBase, "\") + 1)
     NomBase = Left$(NomBase, Len(NomBase) - 4)
     
     DoCmd.RunSQL "DELETE tblFichiers.* FROM tblFichiers;"
     Set t = CurrentDb.OpenRecordset("tblFichiers")
     fichier = Dir(repertoire & "archives\" & NomBase & "_*.mdb")
     Do
      t.AddNew
      t!fichier = fichier
      s = Mid$(fichier, InStr(1, fichier, "_") + 1, 6)
      t!jour = CDate(Right$(s, 2) & "/" & Mid$(s, 3, 2) & "/" & Left$(s, 2))
      t.Update
      fichier = Dir
     Loop Until fichier = ""
     t.Close
     
     DateDerniereSauvegarde = DMax("[jour]", "tblFichiers")
     
     If DateDerniereSauvegarde > Now - 14 Then Exit Sub
     FileCopy repertoire & NomBase & ".mdb", repertoire & "archives\" & NomBase & "_" & Format$(Now, "yymmdd") & ".mdb"
     
    End Sub

  4. #4
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Par défaut
    Nikel, merci à vous deux, je vais faire un mix pour que tout aille parfaitement

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Par défaut
    Voilà après avoir testé les lignes de code, j'aurais 2 questions :

    1/ Quand on fait les DELETE et INSERT, Access nous demande toujours de confirmer, y'a t-il moyen d'enlever ça et de valider automatiquement le DETELE et INSERT INTO ?

    2/ Dans un champs texte, je demande à l'utilisateur de mettre l'endroit où rapatrier la base sauvegardée, c'est donc sous la forme de : C:\Documents and Settings\NOM_UTILISATEUR\Bureau\

    Donc chaque utilisateur doit renseigner "à la main" son nom d'utilisateur. Access permet-il de trouver tout seul le nom de la session sur laquelle on se trouve ?

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 110
    Par défaut
    Bonjour,

    Pourquoi ne pas utiliser directement le système pour ça ?

    Le plannificateur de tâche de Windows par exemple.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    A la question 1:
    Décocher les 3 options du groupe Confirmer de l'onglet Modifier/Rechercher du menu Outils\Options

    A la question 2:
    NomSession = Environ("USERNAME")

  8. #8
    Membre éclairé
    Inscrit en
    Mai 2006
    Messages
    691
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 691
    Par défaut
    - Pour loufab : Parce que les droits que j'ai sur le PC sont plus que restreint et que je pense ne pas y avoir accès (pour info, je n'ai même pas le droit de rentrer dans le calendrier windows, c'est pour dire ... :/)

    - Merci helas, je vais tester ça

  9. #9
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 110
    Par défaut
    Effectivement c'est un comble... les admins sont souvent des cruches. Ben mince j'ai été une cruche à une époque...
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

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

Discussions similaires

  1. [SQL SERVER 2005 EXPRESS] Sauvegarde automatique de la BD
    Par Tragnee dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 18/10/2011, 17h31
  2. Sauvegarde automatique SQL
    Par masseur dans le forum 1&1
    Réponses: 0
    Dernier message: 31/03/2009, 12h35
  3. Sauvegardes automatiques sql server express
    Par boby62423 dans le forum Administration
    Réponses: 1
    Dernier message: 19/02/2009, 00h19
  4. [VBA] Bouton Sauvegarde de base dorsale
    Par wazodnuit dans le forum Access
    Réponses: 6
    Dernier message: 05/08/2006, 04h43

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