Utilisation des RecordSet sous Access pour remplir une table

samster Messages postés 3 Date d'inscription lundi 22 mars 2004 Statut Membre Dernière intervention 6 septembre 2006 - 6 sept. 2006 à 13:24
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 - 7 sept. 2006 à 11:17
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

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 131
6 sept. 2006 à 13:47
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).
0
samster Messages postés 3 Date d'inscription lundi 22 mars 2004 Statut Membre Dernière intervention 6 septembre 2006
6 sept. 2006 à 13:54
Je vais jeter un oeil :) merci
0
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
7 sept. 2006 à 11:14
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.
0
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
7 sept. 2006 à 11:17
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
0
Rejoignez-nous