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 :

copier certains champs d une requete vers une table vierge


Sujet :

VBA Access

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2006
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 67
    Points : 35
    Points
    35
    Par défaut copier certains champs d une requete vers une table vierge
    bonsoir à tous,
    voilà j essaye depuis 3 jours de copier des champs d une requete dans une table vierge au départ.
    Je résume: j ai une requete avec un enregistrement et 6 champs ( 2 de type texte et 4 de type integer)
    J aimerais prendre 3 de ces 6 champs et les copier dans une table puis les 3 autres dans la même table mais dans l enregistrement en dessous.

    exemple :

    requete SELECTION:
    chp1-chp2-chp3-chp4-chp5-chp6 ca c'est Ok

    new table GRAPH1 :
    chp2,chp3,chp5
    chp1,chp4,chp6


    J ai essayé avec getrows et avarecords via ce code :

    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 DB As DAO.Database
    Dim insertAction1 As String
    Dim CurRecQuery As DAO.Recordset
    Dim avarRecords As Variant
    
    Set DB = CurrentDb
    
    Set CurRecQuery = DB.OpenRecordset("select * from selection")
    Set avarRecords = CurRecQuery.GetRows(1)
    
    
    
    insertAction1 = "INSERT INTO [graph1](abscisse,normal,gauche,droite) select avarRecords(16, 0),avarRecords(20, 0),avarRecords(21, 0),avarRecords(17, 0),"
    
    DoCmd.RunSQL insertAction1
    j ai le message argument non valide avec la ligne "avarecords..." en rouge au dessus.

    est ce la bonne technique?
    Si kelkun en a une plus simple ou compliké mais bonne.
    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Ok, je viens de comprendre ta demande.

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Sub CopierChamp()
    Dim rs01 as DAO.RecordSet
    Dim rs02 as DAO.RecodrSet
    Dim SQL01 as String
    Dim da as DAO.DataBase
     
    Set db = CurrentDB
    SQL01 = "Select First(tblSelection.Champ01) AS PremierDeChamp01, " 
    SQL01 = SQL01 & "tblSelection.Champ02, tblSelection.Champ03, "
    SQL01 = SQL01 & "tblSelection.Champ04, tblSelection.Champ05, "
    SQL01 = SQL01 & "tblSelection.champ06 from tblselection;"
     
    set rs01 = db.Openrecordset(SQL01)
     
    set rs02 = db.Openrecordset("Select * From Graph01", dbOpenTable)
    rs02.AddNew
    rs02.fields("chp1") = rs01.fields("Champ01")
    rs02.fields("chp2") = rs01.fields("Champ02")
    rs02.fields("chp3") = rs01.fields("Champ03")
    rs02.update
     
    rs02.AddNew
    rs02.fields("chp1") = rs01.fields("Champ04")
    rs02.fields("chp2") = rs01.fields("Champ05")
    rs02.fields("chp3") = rs01.fields("Champ06")
    rs02.update
     
    rs01.close
    rs02.close
    db.close
    set rs01 = nothing
    set rs02 = nothing
    set db = nothing
    End sub
    pour la sélection du premier enregistrement, on peut faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Set rs01 = db.openrecordset("select * fron tblselection")
    rs01.movefirst
    Sous réserve de test.
    J'ai pas testé.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

Discussions similaires

  1. Dupliquer une requete d une base vers une autre
    Par adelsunwind dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 15/07/2010, 13h09
  2. copier certains champs d une requete vers une table vierge
    Par sunwind dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/11/2007, 10h26
  3. copier certains champs d une requete vers une table vierge
    Par sunwind dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/11/2007, 00h09
  4. Réponses: 4
    Dernier message: 14/03/2007, 08h57
  5. copier une partie d'une image vers une autre
    Par gregcat dans le forum Langage
    Réponses: 1
    Dernier message: 14/04/2006, 13h39

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