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 :

céer une table qui copie une requête


Sujet :

VBA Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 91
    Points : 46
    Points
    46
    Par défaut céer une table qui copie une requête
    sans passer par la requête création de table, j'ai fais un code pour copier le résultat de la requête dans une table
    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
    Private Sub Commande20_Click()
    Dim dbsTest As Database
    Dim requetedef As QueryDef
    Dim tdfNewtbl As TableDef
    Dim rstRequete As DAO.Recordset
    Dim rstTable As DAO.Recordset
    Set dbsTest = CurrentDb
    Set rdf = dbsTest.CreateQueryDef("Query", "SELECT champ1, " & _
                    "champ2, FROM Table1")
    Set rstRequete = dbsTest.OpenRecordset("Query", dbOpenDynaset)
    Set tdfNewtbl = dbsTest.CreateTableDef("Table2")
    With tdfNewtbl
        .Fields.Append .CreateField("champ1t2", dbLong, 25)
        .Fields.Append .CreateField("champ2t2", dbText, 25)
    End With
    dbsTest.TableDefs.Append tdfNewtbl
    While rstRequete.EOF <> True
    Set rstTable = dbsTest.OpenRecordset("Table2", dbOpenDynaset)
    tdfNewtbl.AddNew
        rstTable!champ1t2 = rstRequete!champ1
        rstTable!champ2t2 = rstRequete!champ2
    tdfNewtbl.Update
    rstRequete.MoveFirst
    Wend
    End Sub
    le code ne fonctioone pas

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Pourquoi tu ne fais pas simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select Table1.* into Table2 from Table1

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 91
    Points : 46
    Points
    46
    Par défaut
    oui je sais, mais moi je veux fixer les format des champs.

  4. #4
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 131
    Points : 129
    Points
    129
    Par défaut
    Essaye d'enlever la virgule ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set rdf = dbsTest.CreateQueryDef("Query", "SELECT champ1, " & _
                    "champ2 FROM Table1")
    aussi, je crois qu'il vaut mieux mettre cette partie avant le "While":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set rstTable = dbsTest.OpenRecordset("Table2", dbOpenDynaset)
    et ne pas oublier tout les "Closes" et "nothing" de tes objets utilisés...

Discussions similaires

  1. Réponses: 16
    Dernier message: 19/02/2008, 14h10
  2. Réponses: 1
    Dernier message: 18/07/2007, 11h58
  3. Réponses: 2
    Dernier message: 06/02/2007, 09h17
  4. suppression dans une table qui contient une clé etrangère
    Par zana74 dans le forum Décisions SGBD
    Réponses: 13
    Dernier message: 08/08/2006, 10h58
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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