Utilisation des RecordSet sous Access pour remplir une table

Signaler
Messages postés
3
Date d'inscription
lundi 22 mars 2004
Statut
Membre
Dernière intervention
6 septembre 2006
-
Messages postés
300
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
8 janvier 2010
-
Bonjour,

J'ai créé une petite base access avec un formulaire de recherche multicritères me renvoyant les résultats de recherches dans une listbox (située sur le même formulaire ).
Je souhaiterais maintenant pouvoir envoyer la sélection multiple faite dans cette listbox vers une table dédiée à cet effet par l'intermédiaire de l'événement click d'un bouton.
Ainsi, le code suivant est déjà en place :

###
Private Sub btn_charger_Click()
Dim addcard As Variant
    With Lst_resultats
        For Each addcard In .ItemsSelected
        MsgBox .ItemData(addcard)
        Next
    End With
End Sub
###

il m'affiche un à un les noms des éléments sélectionné dans ma listbox mais de là à charger ces derniers dans une autre table il semble y avoir un fossé !
Pourriez vous me venir en aide, s'il vous plait ?

Samster.

4 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
133
Le fossé n'est pas si profond que ca, je te rassure ;)

Regarde dans les sources celles qui se servent de bases de données pour y enregistrer des données, tu y trouvera sûrement le bout de code qui te manque (l'enristrement des item dans une table).
Messages postés
3
Date d'inscription
lundi 22 mars 2004
Statut
Membre
Dernière intervention
6 septembre 2006

Je vais jeter un oeil :) merci
Messages postés
300
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
8 janvier 2010
2
Alors pour envoyer les éléments de ton listbox vers une Table de ta base de donnée:

(j'ai mis les variables en vert)

Dim mabase as Database
Dim Mon_jeu_d_enregistrementas recordset
Dim i as integer

Set mabase = OpenDatabase("C:/chemin_de_ta_base/mabase.mdb")
Set Mon_jeu_d_enregistrement= mabase.OpenRecordset("Nom_de_ta_table")

 For i = 0 To Nom_de_ta_liste.ListCount - 1
        Mon_jeu_d_enregistrement.AddNew
               Mon_jeu_d_enregistrement.champ1 = Nom_de_ta_liste.List(i)
               Mon_jeu_d_enregistrement.champ2 = Nom_de_ta_liste.Itemdata(i)
         Mon_jeu_d_enregistrement.MoveNext
    Wend
Mon_jeu_d_enregistrementl.Close
mabase.Close

En espérant que cela puisse te servir.
Messages postés
300
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
8 janvier 2010
2
Désolé j'ai fait une erreur dans mon copier coller ^^
voila c corriger

Dim mabase as Database
Dim Mon_jeu_d_enregistrement as recordset
Dim i as integer

Set mabase = OpenDatabase("C:/chemin_de_ta_base/mabase.mdb")
Set Mon_jeu_d_enregistrement= mabase.OpenRecordset("Nom_de_ta_table")

 For i = 0 To Nom_de_ta_liste.ListCount - 1
        Mon_jeu_d_enregistrement.AddNew
               


Mon_jeu_d_enregistrement.champ1 = Nom_de_ta_liste.List(i)

               Mon_jeu_d_enregistrement.champ2 = Nom_de_ta_liste.Itemdata(i)
         Mon_jeu_d_enregistrement.Update
Next

Mon_jeu_d_enregistrementl.Close
mabase.Close