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 :

Couper/coller un ligne d'une table a une autre [AC-2003]


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 29
    Points : 22
    Points
    22
    Par défaut Couper/coller un ligne d'une table a une autre
    Bonjour,
    Je suis tout neuf en matière de access et je rencontre une ptite difficulté pour quelque chose qui ne me parait pourtant pas si difficile

    J'ai une table 1 (T_STOCK) et une table 2 (T_ARCHIVE) qui sont rigoureusements identiques.
    Je voudrait après avoir selectionné la ligne qui m'interresse dans la table 1, la couper et la coller dans la table 2.

    Existe t il un petit code VBA que je n'ai pas vu?
    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Bonjour,

    Si tu procèdes à la main :
    - tu sélectionnes la ligne dans la première et <CTRL + X> ;
    - tu te positionnes sur l'astérisque final dans la seconde et <CTRL + V>.

    Sinon, utilise une requête type "x! Supprimer" pour supprimer dans la première et une requête du type "+! Requête Ajout" pour ajouter dans la seconde.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 29
    Points : 22
    Points
    22
    Par défaut
    j'ai trouvé cela en VBA pour copier et coller :

    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
    Dim Id As Variant
     
    Id = FORMULAIRE_RETIRER_OUTIL_NUMERO.Value
     
    DoCmd.OpenTable "T_stock"
    DoCmd.GoToRecord , , acGoTo, 4
    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdCopy
     
    DoCmd.OpenTable "T_archive"
    DoCmd.GoToRecord , , acNewRec
    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdPaste
    DoCmd.RunCommand acCmdSaveRecord
    DoCmd.Close acTable, "T_archive"
    DoCmd.Close acTable, "T_stock"
    le problème est que pour la commande "DoCmd.GoToRecord , , acGoTo, 4" le 4 est le numéro d'enregistrement (que je ne connais pas)
    Je voudrais savoir si il est possible:
    - Soit de connaitre le numéro d'enregistrement à partir de "FORMULAIRE_RETIRER_OUTIL_NUMERO.Value" du champ1 (qui est une clé primaire)
    - Soit de connaitre le code equivalent à "DoCmd.GoToRecord" de recherche dans la table capable de se placer sur un enregisrement a partir de "FORMULAIRE_RETIRER_OUTIL_NUMERO.Value" du champ1

    merci

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 596
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 596
    Points : 281 920
    Points
    281 920
    Par défaut
    Bonjour,Bonjour,

    Essaie donc ceci :

    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
    Dim Id As Variant
     
    Id = FORMULAIRE_RETIRER_OUTIL_NUMERO.Value
     
    DoCmd.OpenTable "T_stock"
    DoCmd.GotoControl "LeNomDeLaColonneQuiContientCetteValeur"
    DoCmd.FindRecord id
    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdCopy
     
    DoCmd.OpenTable "T_archive"
    DoCmd.GoToRecord , , acNewRec
    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdPaste
    DoCmd.Close acTable, "T_archive"
    DoCmd.Close acTable, "T_stock"

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2013
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 29
    Points : 22
    Points
    22
    Par défaut
    Suuuuppppeeeer,
    Merci Claude pour ton aide.

    Je laisse le code complet des fois que cela puisse servir a quelqu'un pour la suite. En plus j'ai enlevé les alertes temporairement , car il y en avait une petite qui ne servait a rien
    Car j'ai testé le cut à la place du copy sans succes alors j'ai mis un delete pour finir
    Donc voila le final :

    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
    19
    20
    21
    Dim Id As Variant
    DoCmd.OpenTable "T_stock"
    DoCmd.GoToControl "N°"
    DoCmd.FindRecord Id
    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdCopy
     
    DoCmd.OpenTable "T_archive"
    DoCmd.GoToRecord , , acNewRec
    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdPaste
    DoCmd.Close acTable, "T_archive"
     
    DoCmd.OpenTable "T_stock"
    DoCmd.GoToControl "N°"
    DoCmd.FindRecord Id
    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdDeleteRecord
    DoCmd.Close acTable, "T_stock"
     
    DoCmd.SetWarnings True
    @+

+ 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, 11h17
  2. Réponses: 1
    Dernier message: 19/10/2011, 13h13
  3. Réponses: 7
    Dernier message: 25/03/2011, 11h52
  4. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 15h29
  5. 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, 22h50

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