Salut tous

J'ai un table Directions qui contient CodeDirection (clé primaire) et NomDirection.
Chaque Direction (codée sur 2 chiffres) possède des SousDirections (codée sur 4 chiffres dont les 2 premiers indiquent la Direction associé), et chaque SousDierction possède des Services (codee sur 6 chiffres, dont les 4 premiers sont celles des SousDirections associé et les 2 derniers sont celles des Services).
J'ai rempli mon 1 ComboBox (Directions)

Ma question: comment remplir le 2 ComboBox (SousDirections qui appartiennent à la Direction sélectionner dans le 1 ComboBox ), puis remplir le 3 ComboBox (Services qui appartiennent à la SousDirection sélectionner dans le 2 ComboBox ).

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
 Public Sub CmbDir()
        Cn.Open()
        If Cn.State = ConnectionState.Open Then
            Cmd.CommandType = CommandType.Text
            Cmd.CommandText = "Select NomDirections from Directions where CodeDirections = Mid(CodeDirections,1,2) Order By CodeDirections"
            Cmd.Connection = Cn
            Dr = Cmd.ExecuteReader()
            If Dr.HasRows Then
                While Dr.Read
                    FrmAjoutPers.CmbDirections.Items.Add(Dr(0))
                End While
                Dr.Close()
                Cn.Close()
            Else
                Dr.Close()
                Cn.Close()
                MsgBox("Pas de Direction Trouver", 0 + 16, " Erreur")
            End If
        Else
            MsgBox("Erreur de connexion à la Base", 0 + 16, "Erreur")
        End If
    End Sub
 
'ComboBox Direction a été remplit avec Succès
 
    Public Sub CmbSousDir()
        Cn.Open()
        If Cn1.State = ConnectionState.Open Then
            Cmd.CommandType = CommandType.Text
            Cmd.CommandText = "SELECT NomDirections FROM Directions WHERE (Val(CodeDirections)>100 And Val(CodeDirections)<10000 and mid(CodeDirections,1,2)='" & FrmAjoutPers.CmbDirections.SelectedValue & "');"
            Cmd.Connection = Cn
            Dr = Cmd.ExecuteReader()
            If Dr.HasRows Then
                While Dr.Read
                    FrmAjoutPers.CmbSousDirections.Items.Add(Dr(0))
                End While
                Dr.Close()
                Cn.Close()
            Else
                Dr.Close()
                Cn.Close()
                MsgBox("Pas de Sous Direction Trouver", 0 + 16, " Erreur")
            End If
        Else
            MsgBox("Erreur de connexion à la Base", 0 + 16, "Erreur")
 
        End If
'ComboBox Sous Direction est Toujours Vide " MsgBox("Pas de Sous Direction Trouver", 0 + 16, " Erreur")"
Je sais que je fais des énormes bêtises. Pour apprendre, il faut se sacrifier. C'est pour cela je travail le jour et j’étudie tard la nuit.

Merci à tous