Ben il faut vérifier qu'il y a bien un élément sélectionné dans la listbox...
Ben il faut vérifier qu'il y a bien un élément sélectionné dans la listbox...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Il faudrait déjà que mon formulaire contenant la listbox s'ouvre pour que je puisse sélectionner un nom
Dans ce cas, je n'ai pas du comprendre ce que tu voulais faire.
Je croyais que tu voulais retrouver l'index de l'agent à partir du nom sélectionné dans la listbox...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Normalement le fonctionnement c'est le formulaire s'ouvre je clic sur un item de la listbox. lorsque je clic sur l'item de la liste box le nom est stcoké dans la table de hachage (ou dictionary) auxquel lui est assigné son index (clé primaire) qui se trouve dans la base SQL H.add(Nom, clé primaire) comme ça chaque nom même s'il y a des homonymes est unique
Alors tu fais complètement fausse route, car avec le code actuel, la table de hachage est remplie au chargement, pas quand on touche à la listbox.
Le problème, c'est que quoi qu'il en soit, il te faut un moyen d'obtenir l'index à partir de la listbox. Et j'ai cru que la table de hachage devait servir à ça...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Problème résolu je publi le code
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
26 Private Sub FRM_FICHEDETAILLEAGENT_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim NbEnreg H.Clear() Me.Tbl_AgentsTableAdapter.Fill(Me.GRHDataSet1.Tbl_Agents) Me.objDATA = New CLdata() Me.rqSql = "SELECT Index_Agent, Nom, Prenom " & _ "FROM Tbl_Agents ORDER BY Nom ASC " Me.DS = Me.objDATA.getRows(Me.rqSql, "TBL_CHOIX_AGENT") NbEnreg = DS.Tables(0).Rows.Count - 1 For I = 0 To NbEnreg H.Add(I, DS.Tables(0).Rows(I).Item(0)) Me.search.Items.Add(DS.Tables(0).Rows(I).Item(1) & " " & DS.Tables(0).Rows(I).Item(2)) Next End sub Private Sub search_SelectedIndexChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles search.SelectedIndexChanged Index_Cherche = H(Me.search.SelectedIndex) Call Me.searchDATA() Private Sub searchDATA() Me.objDATA = New CLdata() Me.rqSql = "SELECT Index_Agent, Nom, Nom_de_Naissance, Prenom, Date_Naissance, Date_Entree_DGAC, Adresse, Code_Postal, Ville, Telephone_Perso, GSM_Perso, Telephone_Pro, GSM_Pro " & _ "FROM Tbl_Agents " & _ "WHERE Tbl_Agents.Index_Agent = " & Index_Cherche & ";" Me.DS = Me.objDATA.getRows(Me.rqSql, "TBL_FONCTIONS" )
Sauf que ça marche seulement si la listbox n'est pas triée, et si c'est pour faire ça tu n'as pas besoin d'une table de hachage: Un tableau (ou à la rigueur, une System.Collections.ArrayList ou System.Collections.Generic.List(Of T)) suffit largement...
En fait, je te conseille de te faire un tableau de
Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Class Agent Public Nom As String Public Prenom As String Public Index As Integer End Class
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Euh tout fonctionne parfaitement là. Quand je clic sur un item de la listbox les renseignements sont bien affichés
Ah oui, parce que tes agents sont aussi triés.
Mais tu n'as pas réglé le tri assez explicitement: tu dois rajouter "Prenom ASC".
Et aussi, je te conseille quand même de te faire une classe spécifique, ce sera tellement plus simple.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager