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 :

Créer un backup


Sujet :

Access

  1. #1
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut Créer un backup
    Bonjour,

    Je cherche a faire un backup de ma base depuis un bouton sur un formulaire. En voyant qu'on pouvait facilement copier/coller une base, meme ouverte, j'ai pris la meme méthode:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim sEmplacementInitial As String, sEmplacementFinal As String
     
    sEmplacementInitial = "Q:\Mon Rep\Ma Database.mdb"
    sEmplacementFinal = "Q:\Mon Rep\Backup\Ma Database_backup.mdb"
     
    FileCopy sEmplacementInitial, sEmplacementFinal
    Forcement, c'était trop facile, il veut pas toucher a un fichier ouvert.

    On a d'autres solutions?
    puis et puis et encore . Sinon sans oublier et

  2. #2
    jnore
    Invité(e)
    Par défaut
    Peut-être pourrais-tu lier les tables de ton fichier backup à ton application et transférer (copier) les données par requête (Requete ajout)

  3. #3
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    Ahhh, c'est une bonne idée !
    Créer un fichier Access du nom que je veux et y importer tout le contenu de mes tables.
    Je vais creuser l'affaire, si tu sais comment faire, je suis preneur!

    Merci pour cette bonne piste.
    puis et puis et encore . Sinon sans oublier et

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 009
    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 009
    Points : 24 583
    Points
    24 583
    Par défaut
    Bonjour,

    On peut également copier les objets tables via une commande d'export. Toutes les méthodes se valent seul le temps de développement peu changer.

    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

  5. #5
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    Salut Tofalu!

    Super, j'ai trouvé le code pour exporter des objets (CopyObject) et le code pour créer un nouveau fichier mdb.
    Est-il possible par contre de faire une boucle du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim Tb as "Table"
    For each Tb in Mydatabase
    Docmd.CopyObject newDB,,acTable,Tb.Name
    next Tb
    Je ne trouve pas la syntaxe a utiliser...

    Merci pour vos pistes!!!!!
    puis et puis et encore . Sinon sans oublier et

  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 009
    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 009
    Points : 24 583
    Points
    24 583
    Par défaut
    Bonjour,

    Moi c'est Loufab.

    C'est ce code que tu cherche probablement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Function exporttable()
    Dim tb As TableDef
    Dim newBase as string
     
    newbase = "c:\mabase.mdb"
     
    For Each Table In CurrentDb.TableDefs
        DoCmd.CopyObject newBase, , acTable, Table.Name
    Next
     
    End Function
    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 confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    Oh, Loufab, chui désolé!

    Ca marche bien!
    J'ai neanmoins un message d'erreur "Vs n'avez pas la permission de copier 'MsysACEs'". En mettant un "On error resume next", ca passe, mais quel est le risque de ne pas déplacer cette table?

    J'ai une autre petite question:
    Au dessus de mon bouton "Export", je mets une boite de commande qui permet a l'utilisateur de choisir le repertoir dans lequel il va mettre son backup.
    Pas de souci jusque la, je mets le chemin dans une textbox
    J'aimerais bien que le chemin soit enregistré sur le formulaire et pas dans une table. Une textbox perd son contenu quand on ferme le formulaire, le caption d'un label se perd aussi...
    Ya pas un moyen d'écrire la valeur sur le formulaire ou la garder qq part sans avoir a le mettre dans une table??

    Merci!
    puis et puis et encore . Sinon sans oublier et

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    MsysACEs est une table système qui n'a aucune incidence sur ton bakup.

    Pour ta deuxième question, tu peut utiliser une variable globale.
    Amicalement

  9. #9
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    C'est parfait. Merci DMboup, Loufab et Jnor !!
    puis et puis et encore . Sinon sans oublier et

  10. #10
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    En fait, non!
    La valeur de la variable globale est detruite des qu'on ferme la base de données. Je cherche une variable qui ne perd jamais son contenu, mias je sais pas si ca existe!
    puis et puis et encore . Sinon sans oublier et

  11. #11
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 009
    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 009
    Points : 24 583
    Points
    24 583
    Par défaut
    Il faut alors stocker cette variable dans une table.

    Mea culpa il faut tester le nom de la table avant de faire l'import. Donc avant le docmd mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if table.name not like "Msys*" then docmd....
    hi DMboup meilleurs voeux pour 2007 !
    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

  12. #12
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    Oui, effectivement, je me suis résolu a stocker le chemin dans une table.

    Oui, bonne année a toi Loufab et merci encore...
    puis et puis et encore . Sinon sans oublier et

  13. #13
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par loufab
    hi DMboup meilleurs voeux pour 2007 !
    A toi de même et tous les membres de notre cher formum.
    Amicalement

  14. #14
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    Oh, une petite question qui ne peut pas vraiment faire l'objet d'un nouveau post...
    Existe-t-il une fonction qui compte le nb de caracteres dans un string? Grr, je trouve pas...
    puis et puis et encore . Sinon sans oublier et

  15. #15
    Invité
    Invité(e)
    Par défaut
    Salut

    Len

    Starec

  16. #16
    Expert éminent sénior

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

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Len

  17. #17
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    Ralalala, faut connaitre...

    Bon, vous allez dire que je suis chiant, mais ca marche pas tout a fait.
    Déja
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if table.name not like "Msys*" then docmd....
    me sort "Expected: Expression" a la compilation.

    L'autre PB, c'est qu'il ne peut importer les tables car il me dit que le fichier mdb qu'il vient de créer est en cours d'utilisation. Voici un bout de mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        Set db = ws.CreateDatabase(LFilename, dbLangGeneral)
    Dim tb As TableDef
    'Copy all the tables in the database previously created
    For Each tb In CurrentDb.TableDefs
        'On Error Resume Next
        DoCmd.CopyObject LFilename, , acTable, tb.Name
    Next
    End Sub
    Ca me les brise... Promis, apres j'arrete!
    puis et puis et encore . Sinon sans oublier et

  18. #18
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 009
    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 009
    Points : 24 583
    Points
    24 583
    Par défaut
    Citation Envoyé par timoth
    Bon, vous allez dire que je suis chiant, mais ca marche pas tout a fait.
    Déja
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if table.name not like "Msys*" then docmd....
    me sort "Expected: Expression" a la compilation.
    Je pensais que tu avais analyser l'expression docmd....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not (tb.Name Like "Msys*") Then DoCmd.CopyObject "c:\test.mdb", , acTable, tb.Name
    petite correction sur le test.

    Bizarre j'ai pas le problème que tu me décris au sujet du fichier en cours d'utilisation.
    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

  19. #19
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    En fait, j'avais gardé mon On error resume next.
    J'aime pas trop cette ligne de commande donc je l'ai remplacé par la tienne qui n'inhibe pas toutes les erreurs. Merci pour la bonne syntaxe.

    En fait, pour mon erreur de 'File already in use', je viens de realiser que ca ne me le fait que quand j'enregistre mon backup sur un disque partagé a travers le reseau de l'entreprise. Sur mon propre dur, pas de souci.

    Tu as une idée ??

    Merci...
    puis et puis et encore . Sinon sans oublier et

  20. #20
    Membre confirmé Avatar de timoth
    Homme Profil pro
    Responsable Outils Digitaux
    Inscrit en
    Octobre 2005
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Responsable Outils Digitaux

    Informations forums :
    Inscription : Octobre 2005
    Messages : 479
    Points : 474
    Points
    474
    Par défaut
    Bon, c'est bon avec db.close:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Set db = ws.CreateDatabase(LFilename, dbLangGeneral)
        db.Close
    Dim tb As TableDef
    'Copy all the tables in the database previously created
    For Each tb In CurrentDb.TableDefs
        If Not (tb.Name Like "MSys*") Then DoCmd.CopyObject LFilename, , acTable, tb.Name
    Next
    End Sub
    Cette fois-ci, c'est la bonne! Merci Loufab!
    puis et puis et encore . Sinon sans oublier et

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/12/2010, 12h20
  2. comment créer un backup de bd sql server2005 en vb6?
    Par salimo79 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/06/2010, 09h02
  3. Réponses: 3
    Dernier message: 30/09/2008, 20h34
  4. Créer backup avec plan de maintenance
    Par liliprog dans le forum Administration
    Réponses: 4
    Dernier message: 07/07/2006, 11h40

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