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 :

Sauvegarde et restauration d'une table en VBA [AC-365]


Sujet :

VBA Access

  1. #1
    Membre habitué Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 518
    Points : 196
    Points
    196
    Par défaut Sauvegarde et restauration d'une table en VBA
    Bonjour à tous,

    J'aurais besoin de sauver un table et de pouvoir restaurer les valeurs (en gardant bien la clé primaire),
    ex : si ma table contient clé, ville, nb_habitants
    Il faudrait que le restaure remette bien les valeurs et associées a la clé sinon ça casse tout.

    Y a t il un truc qui existe déjà ou dois je le développer ?
    J'ai cherché :ai je n'ai rien trouvé d'intéressant .

    Merci de votre aide,
    @+

    François

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 339
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 339
    Points : 1 955
    Points
    1 955
    Par défaut
    Salut,

    Click droit sur une table ==> Exporter ==> Fichier XML

  3. #3
    Membre habitué Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 518
    Points : 196
    Points
    196
    Par défaut
    Merci !
    Ok mais est ce que ça peut se faire en VBA ?
    Si oui comment ?

    Si je sauvegarde ma table en xml comme tu me l'indiques , j'ai un souci pour la restaurer :
    =>si je fais un clic droit puis importer fichier XML, il essaye de m'insérer les data et non pas de restaurer les data , ce n'est pas pareil.
    J’espère que je m'explique bien.

    Mille mercis


    @+

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Bonjour,

    Si la clé primaire est numauto ça ne va pas être simple, voire impossible, sauf à restaurer toute la base d'un coup. Le plus simple est donc de recréer la table avec un incrément manuel et de modifier le code en conséquence lors de l'insertion de nouvelles lignes.

    Avant de restaurer cette seule table il va falloir la vider : il faut donc aussi s'assurer qu'il n'y a aucune liaison "obligatoire" avec d'autres tables et si c'est le cas modifier le type de liaison pour pouvoir vider notre table sans avoir de blocage d'intégrité

    On peut alors choisir n'importe quel format de sauvegarde (excel, access, texte...) et écrire 2 petits bouts de code, un qui sauve et l'autre qui efface+restaure sans trop de difficulté

    NB: en fonction du modèle de données, cela peut créer un risque de perte d'intégrité, c'est pourquoi en général on sauve toute la base entière
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Membre habitué Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    518
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 518
    Points : 196
    Points
    196
    Par défaut
    Et si je part sur la solution de sauvegarde toute la base et de la restaurer (je veux faire une restauration ; ie il me remet à jour les lignes en se basant sur la clé primaire), c'est faisable sans dévlopper du code compliqué ?

    Merci .

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Citation Envoyé par bartimeus35 Voir le message
    Et si je part sur la solution de sauvegarde toute la base et de la restaurer (je veux faire une restauration ; ie il me remet à jour les lignes en se basant sur la clé primaire), c'est faisable sans dévlopper du code compliqué ?
    Si c'est une base access il suffit de copier le fichier .accdb dans un répertoire "de sauvegarde" (le cloud, un support externe...)
    Cela peut se faire par exemple toutes les nuits dans le planificateur de taches windows
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  7. #7
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 914
    Points : 4 814
    Points
    4 814
    Par défaut
    Ok mais est ce que ça peut se faire en VBA ?
    Dans l'aide Access :

    L’exemple suivant utilise la méthode CopyObject pour copier la table Employees et lui attribuer un nouveau nom dans la base de données active.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.CopyObject, "Employees Copy", acTable, "Employees"
    "Always look at the bright side of life." Monty Python.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/02/2006, 12h42
  2. Sauvegarde et Réstauration d'une BD SQL server2000
    Par da_latifa dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 30/01/2006, 13h33
  3. Tester les droits en écriture sur une table en VBA ?
    Par yerome60 dans le forum Access
    Réponses: 2
    Dernier message: 19/12/2005, 21h43
  4. Restauration d'une table
    Par Shiftane dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2005, 16h40
  5. Créer une table en VBA ?
    Par nicburger dans le forum Access
    Réponses: 11
    Dernier message: 16/02/2005, 15h15

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