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

Requêtes et SQL. Discussion :

Utiliser SQL pour archiver des données de tables


Sujet :

Requêtes et SQL.

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 120
    Points : 73
    Points
    73
    Par défaut Utiliser SQL pour archiver des données de tables
    Bonjour,

    Je maitrise peu le langage SQl et je souhaite réaliser un archivage de mes tables, pensant qu'avec SQL, cela est possible et plus simple qu'en DAO recordset. Je souhaite une confirmation et donc une possible aide ! Merci d'avance.

    J'ai un ensemble de tables qui dépendent d'une table maitre. je souhaite retrouver dans la table maitre, les actions cloturées, les archiver dans une base jumelle d'archivage dans la table jumelle. Une fois cette action faite, retrouver toutes les enregistrements dépendants dans les autres tables et les enregistrer successivement dans les tables jumelles.
    Je sais le faire en DAO recorset mais je pense le simplifier en SQL mais ne sais pas le faire correctement.
    Cela est il possible ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 120
    Points : 73
    Points
    73
    Par défaut
    Une précision :
    J'utilise le code tiré de la FAQ
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      Dim dbarchive As DAO.Database, Mtable As DAO.Recordset, Stable As DAO.Recordset, fld As DAO.Field
      Dim sSQL As String
     
        ' Ouverture de la base de données
      Set dbarchive = DBEngine.OpenDatabase("D:\Principal\Base de Développement\Archives tables.mdb")
      Set Stable = dbarchive.OpenRecordset("Maitres stages", dbOpenDynaset)
      sSQL = "Select * From [Maitres stages] Where Cloture = True"
        ' Ouverture du recordset
      Set Mtable = CurrentDb.OpenRecordset(sSQL, dbOpenForwardOnly, dbReadOnly)
        ' Fermeture du Recordset
      Debut.Print Mtable![Identification Affaire], Mtable![Référence mission]
    A la dernière ligne, j'obtiens "OBJET REQUIS"

  3. #3
    Expert éminent
    Avatar de LedZeppII
    Homme Profil pro
    Maintenance données produits
    Inscrit en
    Décembre 2005
    Messages
    4 485
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Maintenance données produits
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2005
    Messages : 4 485
    Points : 7 759
    Points
    7 759
    Par défaut Objet Requis
    Bonjour,

    il y a une faute de frappe. Ca devrait être Debug.Print ....

    A+

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 120
    Points : 73
    Points
    73
    Par défaut
    La faute de frappe à part, l'instruction Mtable.Movefirst entraine "Opération non valide". Comment alors récupéré les enregistrements pour les mettre dans l'archive ? (En sql de préférence)

  5. #5
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    ben,
    1. tu fais une requête selection toute simple qui te sélectionne les enregistrements "maître" que tu veux archiver.
    2. Requête / Requête Ajout
    3. Tu remplis le nom (et la cible) de la table dans laquelle tu veux ajouter les données
    4. Tu vérifies la ligne "Ajouter à"
    5. Tu fais Affichage / Mode SQL

    Et là, tu auras le SQL

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 120
    Points : 73
    Points
    73
    Par défaut
    Merci de ton aide. je n'y avais pas pensé mais c'est tout simple.

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

Discussions similaires

  1. Syntaxe SQL pour intégrer des commentaires sur tables et colonnes
    Par pierre347 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 18/07/2014, 16h05
  2. Réponses: 3
    Dernier message: 16/09/2010, 08h34
  3. utiliser formulaire pour enregistrer des données dans différentes tables
    Par silue fignigue siaka dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 11/04/2009, 13h53
  4. Réponses: 2
    Dernier message: 17/02/2009, 20h26

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