Affichage d'un produit d'une datalist sur une autre liste en cas de click ...

Résolu
Stag2 Messages postés 26 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 - 7 juil. 2008 à 16:47
Stag2 Messages postés 26 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 22 juillet 2008 - 9 juil. 2008 à 15:48
Bonjour,

J'ai une datalist qui affiche les données d'un champs d'une base access (produit A, Produit B & Produit C). Lorsque que l'on clique sur l'un des produits j'aimerais qu'il s'affiche sur une liste présente à ces cotés.

Ex:

DataList                                             ListBox (ou DataList)

Produit A    <= click                        Produit A     <= Apparait
Produit B
Produit C

Une requère SQL devrait faire l'affaire, mais je n'y arrive pas.
Si quelqu'un pouvait m'éclairer sur la marche à suivre ..
Merci
A voir également:

9 réponses

Stag2 Messages postés 26 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 22 juillet 2008
9 juil. 2008 à 15:48
La réponse était tellement simple, que j'ai honte d'avoir cherchési longtemps :)

Private Sub cmdAdd_Click()


    List1.AddItem DataList1.Text


End Sub

Merci tt de même de t'être penché sur mon cas.
Sur une l'échelle de la connaissance en vb de 0 a 100, je viens de passer de 2 a 7!
++
3
Stag2 Messages postés 26 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 22 juillet 2008
7 juil. 2008 à 17:43
J'ai trouvé ce code sur
Controles#combo_col http://vb.developpez.com/faq/?page=Controles#combo_col

Set DataCombo1
.
DataSource
=
rst
 Set 
DataCombo1
.
RowSource
=
rst
DataCombo1
.
ListField
=
"
MonChamp
"


Private
Sub
DataCombo1_Click
()

 
 If 
DataCombo1
<
>
"
"
 Then 

      rst
.
Bookmark
=
DataCombo1
.
SelectedItem

 
 End 
If


  Text1
.
Text
=
rst
.
Fields
(
"
AutreChamp
"
)  
'
nom
d'un
champ
quelconque
dans
la
base

 End 
Sub


Mais cela me marque
une erreur pour rst, qui n'est pas déclaré. Je ne comprends pas pourquoi :(
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 juil. 2008 à 00:08
salut,

umm, d'après le message d'erreur et le code fourni, c'est peut-être parce que tu n'as pas déclaré RST ??

ps : dans ce cas (me semble), .DataSource n'attend rien, et RST doit déjà être chargé/exécuté
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
Stag2 Messages postés 26 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 22 juillet 2008
8 juil. 2008 à 11:48
Hum, j'ai bien essayé de le déclarer rst ( DIM rst as String) mais ca ne marche pas. Il y a une autre méthode ?
Concernant le chargé/ exécuté, tu veux dire qu'il faut mettre un .refresh quelque part ?
PS: Je suis un grand débutant :(

Merci pour la réponse
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 juil. 2008 à 12:51
RST (ou RS) est un nom de variablt qu'on attribue qouvent à RecordSeT. donc pas une string. il (le recordset) a la méthode OPEN

ps : si tu valides ta réponse (fausse qui plus est), personne ne viendra répondre...
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
Stag2 Messages postés 26 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 22 juillet 2008
8 juil. 2008 à 13:27
Pour le "réponse validée" il s'agit d'un test qui a mal tourné :)

Sinon j'ai tenté de dépatouiller le code:

Avec dataList1 = Lié au data control, affiche les infos d'un champs de la bdd
"'DataList1.ListField = Adodc1.Recordset.Fields(1).Name" cela me permet d'afficher les données contenues dans le second champs de ma table.

Private Sub DataList1_Click()


Dim rst As ADODB.Recordset


Set DataList1.DataSource = rst
Set DataList1.RowSource = rst
'DataList1.ListField = Adodc1.Recordset.Fields(1).Name


  If DataList1 <> "" Then
      rst.Bookmark = DataList1.SelectedItem
  End If


 ' List1.Text = rst.Fields("AutreChamp")   ' nom d'un champ quelconque dans la base
End Sub

Je n'obtiens pas d'erreurs, par contre lorsque je clique sur l'un des noms dans ma datalist, tous les noms disparaissent dans cette meme datalist. Je ne comprends pas bien pourquoi.
 
0
Stag2 Messages postés 26 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 22 juillet 2008
8 juil. 2008 à 13:31
PS: Je désactive la dernière ligne, je n'en comprends pas l'utilité et cela me renvoie une erreur lors de la compilation "Object variable or with block variable not set"
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 juil. 2008 à 13:49
ce lien pourra peut-être t'aider :
http://www.codyx.org/snippet_connexion-base-donnees-access_107.aspx

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
Stag2 Messages postés 26 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 22 juillet 2008
8 juil. 2008 à 16:12
J'ai bien regardé ton code pour le vb6. Mais je ne vois pas comment l'utiliser pour résoudre mon problème :(

Sinon j'ai réfléchi, je vais essayer d'incrémenter les champs d'une nouvelles table lorsque l'on clique sur un des objets. Ensuite ma seconde datalist affichera les objets présent dans ce nouveau champs.

Je me renseigne sur la manière de rajouter dans une bdd les objets sur lesquels on clique.

Merci pour ton aide
0
Rejoignez-nous