Comment Remplir 3 ComboBox
Salut tous :coucou:
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:
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:oops: