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 :

Copie d'un enregistrement d'une table vers une autre. [AC-2010]


Sujet :

VBA Access

  1. #1
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2008
    Messages : 152
    Points : 110
    Points
    110
    Par défaut Copie d'un enregistrement d'une table vers une autre.
    Bonjour à tous,

    J'ai une table A (opérationnelle) avec une structure d'enregistrements (type de champs) X. J'ai une table B (Archivage) avec une structure d'enregistrements Y identique à la table A. Quelle est la maniere la plus rationnelle et pratique de copier un enregistrement de A vers B sans faire "fumer" VBA Merci d'avance pour vos réponses

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sql="Insert into [Archive] ( [Champ1],[Champ2]) select [Champ1],[Champ2] from [Opérationnel] Where [A Archivé]=  True"
    Currentdb.execute Sql

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2008
    Messages : 152
    Points : 110
    Points
    110
    Par défaut
    Merci pour le renseignement, mais dans ce cas-là il faut nommer tous les champs ? Il y en a pas mal dans mon cas. Je pensais surtout utiliser les structures recordset pour copier un enregistrement d’une table dans l’autre. D'autre par ou est la réference au N° d'enregistrement concerné par le transfert de table ?
    N'étant pas un specialiste de SQL je ne comprend pas trop la fin de ta ligne SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Where [A Archivé]=  True"

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    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 087
    Points : 5 203
    Points
    5 203
    Par défaut
    Bonjour,

    Voici un exemple pour copier en lisant la liste des champs dans access :
    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
    Dim rss As DAO.Recordset, rsd As DAO.Recordset
    Dim tbd As DAO.TableDef, fld As DAO.Field
     
    For Each tbd In CurrentDb.TableDefs 'la description des tables est lue dans access
      If tbd.Name = "B" Then
        Set rss = CurrentDb.OpenRecordset( "SELECT * FROM A WHERE ... ") 'champ(s) à copier
        While Not rss.EOF
           rsd.AddNew
           For Each fld In tbd.Fields
             rsd.Fields(fld.Name) = rss.Fields(fld.Name)
           Next
           rsd.Update
           rss.MoveNext
        Wend
      End If
    Next
    Set rss = Nothing: Set rsd = Nothing
    Set tbd = Nothing: Set fld = Nothing
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonsoir ,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sql="Insert into [Archive]  select * from [Opérationnel] Where [A Archivé]=  True"
    Currentdb.execute Sql

  6. #6
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2008
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2008
    Messages : 152
    Points : 110
    Points
    110
    Par défaut
    Bonjour,

    Merci à tous pour vos precieux renseignements


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

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. [VB.Net] Comment copier une DataRow d'une table vers une autre ?
    Par YLF dans le forum Accès aux données
    Réponses: 7
    Dernier message: 05/09/2012, 23h23
  3. Réponses: 1
    Dernier message: 19/10/2011, 12h13
  4. Copier les enregistrements d'une table vers une table d'une autre DB
    Par karinette21 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/11/2008, 21h50
  5. [VB.NET] Copie d'une table d'une DB vers une autre
    Par SergeF dans le forum Windows Forms
    Réponses: 9
    Dernier message: 20/11/2004, 09h54

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