Copier des champs d'une table Access

Résolu/Fermé
SilverM-A - 22 juin 2009 à 18:10
SilverM-A Messages postés 82 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 10 avril 2011 - 22 juin 2009 à 22:30
Bonjour,

C'est la première fois que j'utilise Access et que je consulte du code VBA.

Mon problème est bien simple. Je dois effectué des traitements (validation et conversion) sur des données importées d'un fichier CSV. J'ai importé les données dans une table temporaire. Pour me familiarisé avec le code VBA et Access 2007, j'ai tenté de simplement copier un entré dans ma table temporaire vers ma table réelle. Après avoir consulté plusieurs bout de code sur internet et essayé plusieurs fonctions, c'est toujours sans succès avec des messages d'erreurs tous différents à chaque fois.

J'aimerais solliciter votre aide pour me donner un simple coup de main :)

P.S.: Après ma validation et conversion de données, je n'est plus besoin de garder mes données brutes. C'est la raison pour laquelle j'ai choisi une table temporaire. Peut-être cette approche est déficiente. À vous de me conseiller dans ce cas.
A voir également:

4 réponses

qmike Messages postés 1506 Date d'inscription mardi 19 juillet 2005 Statut Membre Dernière intervention 18 juin 2012 594
22 juin 2009 à 18:34
bonjour
Oui et la question ?
0
SilverM-A Messages postés 82 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 10 avril 2011 76
22 juin 2009 à 19:07
Je souhaite simplement savoir comment procéder. Un exemple de code VBA, un site ou n'importe quoi qui pourrait m'aider. Déjà savoir comment accéder à un entré dans une table, il me serait facile par la suite d'explorer par moi-même.

Merci :)
0
SilverM-A Messages postés 82 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 10 avril 2011 76
22 juin 2009 à 20:22
Pour vous donner plus de détail. J'ai une form vide, avec un simple bouton "Traitement". Sur le OnClick du bouton je voudrais être capable de copier le champ Date de ma table temporaire vers le champ Date de ma table réel.

Après avoir compris cela, je devrais être capable de modifier mon code pour effectuer les conversion qui me sont nécessaire.

Merci
0
SilverM-A Messages postés 82 Date d'inscription lundi 22 juin 2009 Statut Membre Dernière intervention 10 avril 2011 76
22 juin 2009 à 22:30
Pour ceux qui désire la réponse, voici celles que j'ai trouvées. La différence entre les 2 solutions est que la deuxième ( Command1_Click() ) est fait à partir de requête SQL, il est donc beaucoup plus facile et simple d'ajouter le nombre de champs désirés.

Private Sub Command_Click()
   
    maVarString = DLookup("Date", "Log96 - tronc")
    
    MsgBox maVarString
    
End Sub

Private Sub Command1_Click()
    
    Dim sql As String
    Dim rst As DAO.Recordset
    Dim varDate As String

    sql = "SELECT DISTINCT [Date] FROM [Log96 - tronc]"
    Set rst = CurrentDb.OpenRecordset(sql)
    With rst
        'traverse toute les records
        Do While Not .EOF

        'traitement a faire sur ton rst
        varDate = rst("[Date]")
        MsgBox "La date est " & varDate

        Loop  'while not .eof
        .Close   'rst
    End With

End Sub


Les 2 solutions affichent le résultat dans une boite de message, mais par la suite il est simple de faire un Insert :

CurrentDB().Execute "INSERT INTO table (champ1, champ2) VALUES (" & variable1 & "," & variable2 & ")"


P.S.: log96 - tronc est ma table temporaire.
0