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 :

Archivage et restauration de données [AC-2013]


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Enseigner
    Inscrit en
    Septembre 2022
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Enseigner
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2022
    Messages : 40
    Points : 35
    Points
    35
    Par défaut Archivage et restauration de données
    Bonjour!
    J'aimerais pouvoir archiver les élèves exclus ou transférés vers un autre établissement au lieu de les supprimer de la base de données. En cas d'erreur restaurer: un élève peut être archiver par inadvertance ou le conseil de classe revenir sur sa décision.

    Merci par avance

  2. #2
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 371
    Points : 19 777
    Points
    19 777
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Vous pouvez filtrer la table sur le champ exclu dans votre base.

    Mais le mieux je pense est de transférer les données des élèves exclus dans une table archive :

    Il faut donc d'abord créer une requête ajout :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO T_Eleves_Archives ( IdEleve, NomEleve, Exclu )
    SELECT IdEleve, NomEleve, PrenomEleve
    FROM T_Eleves
    WHERE Exclu=True;

    Puis, une requête suppression pour supprimer les lignes exportées :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DELETE
    FROM T_Eleves
    WHERE Exclu=True;

    A éxécuter bien sûr dans cet ordre

    Cdlt

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Enseigner
    Inscrit en
    Septembre 2022
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Enseigner
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2022
    Messages : 40
    Points : 35
    Points
    35
    Par défaut RE
    Citation Envoyé par bysad70 Voir le message
    Bonjour!
    J'aimerais pouvoir archiver les élèves exclus ou transférés vers un autre établissement au lieu de les supprimer de la base de données. En cas d'erreur restaurer: un élève peut être archiver par inadvertance ou le conseil de classe revenir sur sa décision.

    Merci par avance
    Merci pour le soutien. Mais comment restaurer ensuite en cas de besoin les lignes qui ont été supprimées de T_eleves?

  4. #4
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Salut
    Vous avez déjà la réponse. Il suffit d'inverser le nom des tbl dans le 1er code fourni par @User que je salue au passage !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO T_Eleves ( IdEleve, NomEleve, Exclu )
    SELECT IdEleve, NomEleve, PrenomEleve
    FROM T_Eleves_Archives
    WHERE Exclu=True;
    Citation Envoyé par bysad70 Voir le message
    Merci pour le soutien. Mais comment restaurer ensuite en cas de besoin les lignes qui ont été supprimées de T_eleves?

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Enseigner
    Inscrit en
    Septembre 2022
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Enseigner
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2022
    Messages : 40
    Points : 35
    Points
    35
    Par défaut RE
    Citation Envoyé par hyperion13 Voir le message
    Salut
    Vous avez déjà la réponse. Il suffit d'inverser le nom des tbl dans le 1er code fourni par @User que je salue au passage !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO T_Eleves ( IdEleve, NomEleve, Exclu )
    SELECT IdEleve, NomEleve, PrenomEleve
    FROM T_Eleves_Archives
    WHERE Exclu=True;
    Je joins une image de ce que je veux faireNom : N11.jpg
Affichages : 95
Taille : 1,68 Mo

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 371
    Points : 19 777
    Points
    19 777
    Billets dans le blog
    65
    Par défaut
    Il faudrait essayer ce code sur le clic du bouton restaurer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private boutonRestaurer_Click()
     
        Dim strSQL as string
     
        strSQL = "INSERT INTO T_Eleves ( IdEleve, NomEleve, Exclu ) " & _
        "SELECT IdEleve, NomEleve, PrenomEleve " & _
        "FROM T_Eleves_Archives " & _
        "WHERE IdEleve=" & nz(Me.IdEleve,0) & ";"
     
        currentdb.execute strSQL, dbFailOnError 
     
    end sub
    Les noms des champs et des tables doivent bien sûr être adaptés à votre base.

    Cdlt

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Enseigner
    Inscrit en
    Septembre 2022
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Enseigner
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2022
    Messages : 40
    Points : 35
    Points
    35
    Par défaut RE
    Citation Envoyé par User Voir le message
    Il faudrait essayer ce code sur le clic du bouton restaurer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private boutonRestaurer_Click()
     
        Dim strSQL as string
     
        strSQL = "INSERT INTO T_Eleves ( IdEleve, NomEleve, Exclu ) " & _
        "SELECT IdEleve, NomEleve, PrenomEleve " & _
        "FROM T_Eleves_Archives " & _
        "WHERE IdEleve=" & nz(Me.IdEleve,0) & ";"
     
        currentdb.execute strSQL, dbFailOnError 
     
    end sub
    Les noms des champs et des tables doivent bien sûr être adaptés à votre base.

    Cdlt
    Le code marche. Merci beaucoup
    Mais j'ai un autre souci. J'ai rencontrer l'erreur 3022 en cliquant par mégarde sur le bouton archiver d'une ligne déjà archivée dans T_eleves_archives. Ceci m'a été notifié: "Modifications non effectuées: risque de doublons dans champ index, clé principale ou relation interdisant les doublons, etc"
    Comment gérer cette erreur?

  8. #8
    Expert éminent Avatar de hyperion13
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 273
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 273
    Points : 6 582
    Points
    6 582
    Par défaut
    Selon votre photo, il n'y a pas de champ (colonne) Exclu, style checkbox !
    Autre point si vous excluez un élève de la liste de élève pour le transférer dans la tbl archive, une fois archivé il ne doit plus être présent dans la liste.
    Donc une idée en pj.
    Fichiers attachés Fichiers attachés

  9. #9
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 371
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 371
    Points : 19 777
    Points
    19 777
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    Oui, une fois archivé et supprimé de la table T_Eleves, un Me.Requery à la fin du code pour archiver devrait le supprimer de la liste.

    Cdlt

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Enseigner
    Inscrit en
    Septembre 2022
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Enseigner
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2022
    Messages : 40
    Points : 35
    Points
    35
    Par défaut RE
    Citation Envoyé par hyperion13 Voir le message
    Selon votre photo, il n'y a pas de champ (colonne) Exclu, style checkbox !
    Autre point si vous excluez un élève de la liste de élève pour le transférer dans la tbl archive, une fois archivé il ne doit plus être présent dans la liste.
    Donc une idée en pj.
    Merci! C'est parfait

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/04/2012, 11h50
  2. [MySQL] Script d'archivage de base de donnée
    Par castaka dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 11/01/2008, 14h56
  3. Erreur après restauration des données
    Par Lionel57 dans le forum Administration
    Réponses: 1
    Dernier message: 01/12/2007, 16h40
  4. Problème de restauration de données
    Par lodan dans le forum Langage
    Réponses: 9
    Dernier message: 27/04/2007, 10h50
  5. Archivage et importation de données
    Par hugo1992 dans le forum Access
    Réponses: 2
    Dernier message: 14/12/2006, 15h43

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