Bonjour tous le monde
je veux mettre deux combo box en cascade .
prière de me idée
Bonjour tous le monde
je veux mettre deux combo box en cascade .
prière de me idée
D'accord,mais s'il te plaît,donne un peu plus de détails sur ce que tu souhaite vraiment.
Un exemple pourra nous mettre sur la voie.
OK, merci pour votre réponse
vous trouverez ci-jointe deux fichiers texte contiennent la démarche que 'ai utilisé mais malheureusement je ne trouve pas aucun résultat avec cette démarche
Merci d'avance
Ok, donc si je comprends bien (en m'inspirant de l'image), tu as deux combobox (client et affaire).
Le combobox client doit afficher comme son nom l'indique le nom des clients.Mais étant donné que tes deux combobox devront être en cascade, que doit alors afficher le combobox affaire?
Par exemple,la liste des affaire liées au client?
Bonjour Mr Abbé Assy et vraiment merci beaucoup pour me répondre
oui, exactement j'ai deux combo box , le premier m'affiche la liste des clients et la deuxième m'affiche la liste des affaires lier a la client suivant la sélection de la client de la combo box N° 1.
Par exemple : si je choisie la client N°2 (Nicolas) il me donne automatiquement dans la combo box 2 la liste des affaires lier à ce client (CD00001/15 ; CD0124/15 ; CD455/14 ; CD758/14 )
Merci d'avance
Bonjour
1 Une requête pour obtenir le id_client selon le item choisi par le combo client
2 une requête pour obtenir la liste des affaires selon le id-client
et remplir le combo affaire
Bonjour Mr shayw
oui exactement Mr shayw , mais je ne sais pas comme faire ça , j'ai fais une démarche mais malheureusement je ne trouve aucun résultat
Classuser.txt // Prteste.txt
Dans tes deux tables, y a t-il un élément commun?
J'ai pour habitude d'utiliser des informations d'une même table.Alors,je vais chercher sur deux tables.
Ok,sur mon poste,j'utilise aussi mysql workbrench comme système de gestion de base de donnée (qui n'est pas si différent de sql server au niveau du code).
j'ai deux tables (factures et clients) appartenant à la base de donnée fact et j'ai crée deux combobox (combobox1 et combobox2).
Je veux selectionné dans le combobox1 le nom du client (denomination) et dans le combobox2 la liste de tous ses numéros de factures (numero_facture)
Voici le code :
S'il y a un problème,n'hésite pas à me faire signe.
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74 'Importation Imports MySql.Data.MySqlClient Public Class Form1 'Déclarations de variables Dim myConnexion As MySqlConnection Dim myCommand As MySqlCommand 'Au chargement de Form1, on remplit le combobox1 de la liste des clients Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load myConnexion = New MySqlConnection myConnexion.ConnectionString = "server = localhost; userid = root; password = abc; database = fact" Dim Reader As MySqlDataReader 'Affichage de la liste des clients appartenant à la table clients dans le combobox1 Try myConnexion.Open() Dim query As String query = "select denomination from fact.clients" myCommand = New MySqlCommand(query, myConnexion) Reader = myCommand.ExecuteReader While Reader.Read Dim denom = Reader.GetString("denomination") ComboBox1.Items.Add(denom) End While myConnexion.Close() Catch ex As Exception MessageBox.Show(ex.Message) Finally myConnexion.Dispose() End Try End Sub 'Une fois qu'un client est selectionné dans le combobox1,on affiche la liste de tous ses numéros de factures (numero_facture) dans le combobox2 Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged myConnexion = New MySqlConnection myConnexion.ConnectionString = "server = localhost; userid = root; password = abc; database = fact" Dim Reader As MySqlDataReader Try myConnexion.Open() Dim query As String query = "select numero_facture from facturplus.factures where denomination = '" & ComboBox1.Text & "'" myCommand = New MySqlCommand(query, myConnexion) Reader = myCommand.ExecuteReader 'Affichage de tous les numeros de factures du client (numero_facture) appartenant à la table factures dans le combobox2 While Reader.Read Dim compte = Reader.GetString("numero_facture") ComboBox2.Items.Add(compte) End While myConnexion.Close() Catch ex As Exception MessageBox.Show(ex.Message) Finally myConnexion.Dispose() End Try End Sub End Class
et d'abord ton combo client c'est les noms des clients mais quoi (le champ client _ste ?)
il peut y avoir deux Nicolas
Oui ; "client_ste" c'est le nom de client et l'autre c'est Nom de la "personne à contacter "
je utilise ces informations pour le fiche de la contact des clients , si j'ai une personne particulier ou une société j'ai besoins la personne à contacter
bon pour la combobox 1 je utilise le "Client_ste"
j'ai utilisé la Sql Server 2005 et la visual studio 2005
bah il y a un petit problème comment vas tu procéder si tu as plus d' un client avec le même nom ?bon pour la combobox 1 je utilise le "Client_ste"
As-tu essayé d'adapter le code que je t'ai donné? J'ai mis des commentaires afin que tu puisses te repérer.
Bah sinon pour éviter de t'emmêler les pinceaux au cas où tu as deux clients avec le nom,tu pourrais leur ajouter une petite précision par exemple!
Leurs prénoms!
je suis entrain d'adapter , je fais quelques changements car il y a une petite différence entre mysql et sql
Merci à vous
j'ai fais l'adaptation du programme , et il m'affiche ce message
La conversion de la chaîne "client_ste" en type 'integer' n'est pas valide
salut ;
j'ai adapté le code mais je trouve un message d'erreur m'indiquant
et si je changeLa conversion de la chaîne "client_ste" en type 'integer' n'est pas valide
par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim denom = Reader.GetString("client_ste") C1.Items.Add(denom)
il m'affiche ce message :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Dim denom = Reader.item("client_ste") C1.Items.Add(denom)
La propriété connectionstring n'a pas été initialisée
Voici Mon Code la combobox N1 est fonctionne mais lorsque je choisie un nom de client m'affiche quela propriété connectionstring n'a pas été initialisée
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 Imports System.Data.SqlClient Imports System.Globalization Public Class PrTeste Dim winclass As New classuser Dim cmd As New SqlCommand Private Sub PrTeste_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim Reader As SqlDataReader If classuser.sqlcon.State = ConnectionState.Open Then classuser.sqlcon.Close() End If 'Affichage de la liste des clients appartenant à la table clients dans le combobox1 Try classuser.sqlcon.Open() Dim query As String query = "select client_ste from client" cmd = New SqlCommand(query, classuser.sqlcon) Reader = cmd.ExecuteReader While Reader.Read Dim denom = Reader.Item("client_ste") C1.Items.Add(denom) End While classuser.sqlcon.Close() Catch ex As Exception MessageBox.Show(ex.Message) Finally classuser.sqlcon.Dispose() End Try End Sub Private Sub C1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles C1.SelectedIndexChanged classuser.sqlcon = New SqlConnection If classuser.sqlcon.State = ConnectionState.Open Then classuser.sqlcon.Close() End If Dim Reader As SqlDataReader Try classuser.sqlcon.Open() Dim query As String query = "select affaire from Traveaux where client = '" & C1.Text & "'" cmd = New SqlCommand(query, classuser.sqlcon) Reader = cmd.ExecuteReader 'Affichage de tous les affaires du client (affaire) appartenant à la table Traveaux dans le combobox2 While Reader.Read Dim compte = Reader.GetString("affaire") C2.Items.Add(compte) End While classuser.sqlcon.Close() Catch ex As Exception MessageBox.Show(ex.Message) Finally classuser.sqlcon.Dispose() End Try End Sub
Heureux que tes recherches t'aient amené à découvrir tes erreurs de code
Revois deuxième chaîne de caractère query.
Tu as écris :Ecrit plutôt :
Code : Sélectionner tout - Visualiser dans une fenêtre à part query = "select affaire from traveaux where client = '" & C1.SelectedIndex & "'"car ce n'est pas l'index qu'il doit choisir mais la valeur (Text) insérée dans C1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part query = "select affaire from traveaux where client = '" & C1.Text & "'"
Cela devrait marcher à présent.
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
27
28
29
30 Private Sub C1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles C1.SelectedIndexChanged classuser.sqlcon = New SqlConnection classuser.sqlcon.ConnectionString = "Data Source=SQL\GAM;Initial catalog=suivieDGAM;Integrated security=true" If classuser.sqlcon.State = ConnectionState.Open Then classuser.sqlcon.Close() End If Dim Reader As SqlDataReader Try classuser.sqlcon.Open() Dim query As String query = "select affaire from traveaux where client = '" & C1.Text & "'" cmd = New SqlCommand(query, classuser.sqlcon) Reader = cmd.ExecuteReader 'Affichage de tous les affaires du client (affaire) appartenant à la table Traveaux dans le C2 While Reader.Read Dim compte = Reader.Item("affaire") C2.Items.Add(compte) End While classuser.sqlcon.Close() Catch ex As Exception MessageBox.Show(ex.Message) Finally classuser.sqlcon.Dispose() End Try
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