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

Access Discussion :

[VBA] Bouton Sauvegarde de base dorsale


Sujet :

Access

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 46
    Par défaut [VBA] Bouton Sauvegarde de base dorsale
    J'ai de la difficulté à coder convenablement un bouton "Sauvegarde" dans ma base frontale, qui sauvegarderait, sur le Bureau, ma "Base_dorsale.mdb" du serveur.

    L'utilisateur souhaite ne pas avoir à naviguer dans les Favoris réseau-> sélectionner la base -> Enregistrer sous... Un clic sur bouton + un simple msgbox "Sauvegarde réussie." ferait son bonheur.
    Sûrement du déjà vu? Rien trouvé ici...

  2. #2
    Expert confirmé
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Par défaut
    Salut et bienvenue sur le Forum,

    En gros tu veux faire un Backup de ta base dorsale ?

    Si ces le cas tu trouveras des infos dans la et la recherche avancée

    Dolphy

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 46
    Par défaut
    Merci Dolphy35.

    J'ai bien regardé dans la FAQ et les forums, mais comme je disais, rien trouvé ici. Je veux plus qu'un simple backup (qui est bien sûr à la portée de mon client); il préfèrerait la solution Clique bouton + MsgBox de réussite.

    J'ai trouvé ailleurs une solution dont la longueur tient plus du roman, avec modification temporaire du registre... pas chaud à l'idée. Elle semble boggée de toute façon.

    Oui il y a toujours la solution suivante (qu'on trouve effectivement ici):
    Dans déclarations:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Private Declare Function DoFileDownload Lib "shdocvw.dll" _
    (ByVal lpszFile As String) As Long
    Sur l'évènement Clic de mon bouton:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoFileDownload StrConv("\\Chemin_daccès_réseau\NomDeLaBase.mdb", vbUnicode)
    C'est pas mal, mais l'idéal: rendre tout ça transparent, sans boîte de dialogue, avec le Bureau comme destination par défaut.
    Je continue mes recherches.

  4. #4
    Expert éminent

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Par défaut
    Peut être avec ceci :

    http://access.developpez.com/sources...rCollerFichier

    CopierColler("\\serveur\test.mdb","chmin destination",0)

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    710
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 710
    Par défaut
    Salut,

    Que pense tu de quelque chose comme ça :

    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
    30
    31
    32
    33
    34
    35
    36
     
    Public Function fSVGDorsale() As String
    Dim Tdf As TableDef
    Dim Chemin As String
       On Error GoTo fSVGDorsale_Error
     
    For Each Tdf In CurrentDb.TableDefs
        If Tdf.Connect & "" <> "" Then
            Chemin = Right(Tdf.Connect, Len(Tdf.Connect) - 10)
            Exit For
        End If
    Next
    FileCopy Chemin, "C:\svg\svg " & Day(Now) & "-" & Month(Now) & "-" & Year(Now) & ".mdb"
    fSVGDorsale = "C:\svg\svg " & Day(Now) & "-" & Month(Now) & "-" & Year(Now) & ".mdb"
       On Error GoTo 0
     
    fSVGDorsale_Exit:
    Set Tdf = Nothing
         Exit Function
     
    fSVGDorsale_Error:
     
     
        MsgBox "Erreur inatendue N°" & Err.Number & " (" & Err.Description & ") dans la fonction/procedure fSVGDorsale du module DvpPtCom"
        fSVGDorsale = ""
        GoTo fSVGDorsale_Exit:
     
     
    End Function
    Sub Test()
    Dim Test As String
    Test = fSVGDorsale()
    If Test & "" <> "" Then
        MsgBox "Sauvegarde des données réalisée ! Les données sont copiées dans """ & Test & """", vbOKOnly, "Sauvegarde"
    End If
    End Sub
    A+

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 46
    Par défaut
    Merci beaucoup pour vos solutions. On pourrait mettre trois Résolu ici!

    Je viens de compléter ceci qui semble me convenir pour l'instant.

    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
    30
    31
    32
     
    Private Sub CliqueSauvegarde_Click()
     
    Dim Msg, Style, Title, Response
    Msg = "Ce fichier existe déjà. Voulez-vous le remplacer ? "
    Style = vbYesNo + vbExclamation + vbDefaultButton2
    Title = "Sauvegarde"
     
    On Error GoTo Err_Sauvegarde
     
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set MyFile = fso.GetFile("C:\Chemin_Source\Mon_Fichier.mdb")
        MyFile.Copy "C:\Chemin_Destination\Mon_Fichier.mdb", 0 'Remplacer 0 par 1 pour écraser le fichier sans confirmation
        MsgBox "Sauvegarde réussie. Le fichier a été copié avec succès. ", , "Sauvegarde"
     
    Exit_CliqueSauvegarde_Click:
        Exit Sub
     
    Err_Sauvegarde:
        Response = MsgBox(Msg, Style, Title)
        If Response = vbYes Then
        MyFile.Copy "C:\Chemin_Destination\Mon_Fichier.mdb", 1
        MsgBox "Sauvegarde réussie. Le fichier a été copié avec succès. ", , "Sauvegarde"
     
    Else
        MsgBox "Sauvegarde annulée. Le fichier n'a pas été remplacé. ", , "Sauvegarde"
     
    End If
     
        Resume Exit_CliqueSauvegarde_Click
     
    End Sub
    Pour la gestion d'erreur, j'ai juste codé pour l'instant le remplacement du fichier si déjà présent. Je crains également la copie d'un fichier déjà ouvert (ma dorsale). Si vous avez des réticences, faites-m'en part.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 46
    Par défaut
    J'ai trouvé l'excellent tutoriel SAUVEGARDE AUTOMATIQUE, d'Aurélien Combes, sur Action Access.
    Plus professionnel que mes gribouillis.

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

Discussions similaires

  1. [AC-2007] Sauvegarder la base dorsale
    Par Petit Rasta dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/11/2010, 10h33
  2. Réponses: 6
    Dernier message: 03/11/2008, 10h44
  3. Sauvegarde base dorsale avec incrément par jour
    Par Marcopololo dans le forum VBA Access
    Réponses: 11
    Dernier message: 01/11/2008, 08h38
  4. Réponses: 4
    Dernier message: 07/06/2007, 17h44
  5. [VBA-SQL]Sauvegarde automatique Dorsale
    Par Herman dans le forum VBA Access
    Réponses: 8
    Dernier message: 02/04/2007, 12h58

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