Bonjour a tous,
dans une combobox j'ai une liste de client
l'operateur doit saisir un client. La combo a deux paramètres
1. Quand l’operateur appuye sur entree on passe au champ suivant à remplir
2. A la perte du focus on vérifie si le client existe dans la base ; si il existe on remplie une textbox si non message d’erreur et on revient sur le combo
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub ComboBoxLivreur_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBoxLivreur.KeyDown If e.KeyCode = Keys.Enter Then 'SendKeys.Send("{tab}") TxtAcheteur.Focus() End If end sub
end sub
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 Private Sub ComboBoxLivreur_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBoxLivreur.LostFocus Dim monview As New DataView(MonDataSetEnLocal.Tables("table_livreur")) sComm.CommandText = "SELECT SOUSCOOP , CODECLIENT FROM t_livreur " da.SelectCommand = sComm StLivreur = Me.ComboBoxLivreur.Text If MonDataSetEnLocal.Tables("table_livreur").Select("SOUSCOOP = '" & StLivreur & "'").Count = 1 Then monview.Sort = "SOUSCOOP asc" For Each ligne As DataRowView In monview.FindRows(StLivreur) TxtLivreur.Text = ligne("CODECLIENT") Next Else MsgBox("Le client n'existe pas") TxtLivreur.Text = "" ComboBoxLivreur.Text = "" ComboBoxLivreur.Focus() End If
Mon problème est que si la premier fois le client n’existe pas on reviens bien sur le combobox mais si l’operateur rentre de nouveau un client qui n’existe pas et valide entree la perte du focus ne se relance pas . l’idéal pour moi serrais si l'operateur appuie sur entree on lance la perte du focus mais je n'y arrive pas . merci pour votre aide
Partager