J'ai un soucis avec la récupération d'une valeur par code à barre.
Mon PPC me permet de scanner des codes à barre et de récupérer le code en
clair dans un textbox. Les codes sont généralement composés de 6 caractères
+ un retour chariot(non affiché).
Ce que je souhaite faire, c'est une fois le code scanné, que je donne le
focus sur un autre champ de saisi... mais le pb, c'est que je n'ai pas
trouvé l'évènement adéquat pour faire ça ! j'ai bien tenté du KeyPressed,
KeyUp, textChanged, mais à chaque fois il me bloque au premier caractère,
c'est à dire que je ne vois de mon code que le 1er caractère dans le textbox
et pas les autres...
Quelqu'un a-t'il déjà été confronté à ce type de problème ?
D'avance merci
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Stephane TUET
Je ne sais pas si ma solution est vraiment bonne mais une des possibilités qui me vient à l'esprit serait de tester la longueur de ton champs texte avant de réaliser le changement de focus, dans l'évènement TextChanged...
Quelque chose du genre :
If len(Me.MonTextBox.Text) = 6 then 'Changement de focus End If
Steph
"Thiery Thibaud" a écrit dans le message de news: %
J'ai un soucis avec la récupération d'une valeur par code à barre. Mon PPC me permet de scanner des codes à barre et de récupérer le code en clair dans un textbox. Les codes sont généralement composés de 6 caractères + un retour chariot(non affiché).
Ce que je souhaite faire, c'est une fois le code scanné, que je donne le focus sur un autre champ de saisi... mais le pb, c'est que je n'ai pas trouvé l'évènement adéquat pour faire ça ! j'ai bien tenté du KeyPressed, KeyUp, textChanged, mais à chaque fois il me bloque au premier caractère, c'est à dire que je ne vois de mon code que le 1er caractère dans le textbox et pas les autres...
Quelqu'un a-t'il déjà été confronté à ce type de problème ? D'avance merci
Je ne sais pas si ma solution est vraiment bonne mais une des possibilités
qui me vient à l'esprit serait de tester la longueur de ton champs texte
avant de réaliser le changement de focus, dans l'évènement TextChanged...
Quelque chose du genre :
If len(Me.MonTextBox.Text) = 6 then
'Changement de focus
End If
Steph
"Thiery Thibaud" <thibaud.thiery@laposte.net> a écrit dans le message de
news: %23hTp8WGjFHA.132@TK2MSFTNGP10.phx.gbl...
J'ai un soucis avec la récupération d'une valeur par code à barre.
Mon PPC me permet de scanner des codes à barre et de récupérer le code en
clair dans un textbox. Les codes sont généralement composés de 6
caractères + un retour chariot(non affiché).
Ce que je souhaite faire, c'est une fois le code scanné, que je donne le
focus sur un autre champ de saisi... mais le pb, c'est que je n'ai pas
trouvé l'évènement adéquat pour faire ça ! j'ai bien tenté du KeyPressed,
KeyUp, textChanged, mais à chaque fois il me bloque au premier caractère,
c'est à dire que je ne vois de mon code que le 1er caractère dans le
textbox et pas les autres...
Quelqu'un a-t'il déjà été confronté à ce type de problème ?
D'avance merci
Je ne sais pas si ma solution est vraiment bonne mais une des possibilités qui me vient à l'esprit serait de tester la longueur de ton champs texte avant de réaliser le changement de focus, dans l'évènement TextChanged...
Quelque chose du genre :
If len(Me.MonTextBox.Text) = 6 then 'Changement de focus End If
Steph
"Thiery Thibaud" a écrit dans le message de news: %
J'ai un soucis avec la récupération d'une valeur par code à barre. Mon PPC me permet de scanner des codes à barre et de récupérer le code en clair dans un textbox. Les codes sont généralement composés de 6 caractères + un retour chariot(non affiché).
Ce que je souhaite faire, c'est une fois le code scanné, que je donne le focus sur un autre champ de saisi... mais le pb, c'est que je n'ai pas trouvé l'évènement adéquat pour faire ça ! j'ai bien tenté du KeyPressed, KeyUp, textChanged, mais à chaque fois il me bloque au premier caractère, c'est à dire que je ne vois de mon code que le 1er caractère dans le textbox et pas les autres...
Quelqu'un a-t'il déjà été confronté à ce type de problème ? D'avance merci
Thiery Thibaud
C'est une solution qui passe ! Ce qui me posait problème (là c'était de ma faute), c'est que je plaçais un MsgBox dans mes tests dans la gestion de l'évènement, et c'est ça qui provoquait la coupure.... Mais je me suis aperçu que mes codes n'avaient pas toujours la même longueur en fin de compte... certains sont sur 7, voir davantage... et là, il faut que je puisse identifier la fin de saisie d'un code... j'ai bien un retour chariot à la fin, non affichable, mais je ne vois pas comment l'exploiter... je continue de chercher...
Merci Stephane !
C'est une solution qui passe !
Ce qui me posait problème (là c'était de ma faute), c'est que je plaçais un
MsgBox dans mes tests dans la gestion de l'évènement, et c'est ça qui
provoquait la coupure....
Mais je me suis aperçu que mes codes n'avaient pas toujours la même longueur
en fin de compte... certains sont sur 7, voir davantage... et là, il faut
que je puisse identifier la fin de saisie d'un code... j'ai bien un retour
chariot à la fin, non affichable, mais je ne vois pas comment l'exploiter...
je continue de chercher...
C'est une solution qui passe ! Ce qui me posait problème (là c'était de ma faute), c'est que je plaçais un MsgBox dans mes tests dans la gestion de l'évènement, et c'est ça qui provoquait la coupure.... Mais je me suis aperçu que mes codes n'avaient pas toujours la même longueur en fin de compte... certains sont sur 7, voir davantage... et là, il faut que je puisse identifier la fin de saisie d'un code... j'ai bien un retour chariot à la fin, non affichable, mais je ne vois pas comment l'exploiter... je continue de chercher...
Merci Stephane !
Thiery Thibaud
Trouvé ! En fait il faut considéré le scan comme une saisie manuelle au clavier et en faisant un code du genre:
Private Sub m_Textbox_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles m_Textbox.KeyUp If e.KeyCode = Keys.Return Then m_Libelle.Focus() End If End Sub
... On peut gérer correctement les codes de taille différente, plus besoin de tester la longueur dans TextChanged !
Trouvé !
En fait il faut considéré le scan comme une saisie manuelle au clavier et en
faisant un code du genre:
Private Sub m_Textbox_KeyUp(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyEventArgs) Handles m_Textbox.KeyUp
If e.KeyCode = Keys.Return Then
m_Libelle.Focus()
End If
End Sub
... On peut gérer correctement les codes de taille différente, plus besoin
de tester la longueur dans TextChanged !
Trouvé ! En fait il faut considéré le scan comme une saisie manuelle au clavier et en faisant un code du genre:
Private Sub m_Textbox_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles m_Textbox.KeyUp If e.KeyCode = Keys.Return Then m_Libelle.Focus() End If End Sub
... On peut gérer correctement les codes de taille différente, plus besoin de tester la longueur dans TextChanged !