Détecter entrée lecteur code barre
Le
Thierry Euzenot
Bonjour,
Je suis en train de développer une application en VBA, sous Excel, qui doit,
lorsque un code barre est lu par un lecteur de code barre, faire une action.
(Je précise que je ne me suis pas trompé de groupe de discussion, mon
problème est bien de programmation VB ou presque, VB, VBA, c'est presque
pareil sur certains points ^_^ )
Mon problème : comment détecter si l'information de saisie numérique vient
du lecteur de code barre ou du clavier normal de l'ordinateur ? En effet
l'action suivante doit être effectuée uniquement si l'information provient
du lecteur de code barre.
Les données : Lorsque le lecteur de code barre est connecté, un nouveau
clavier est ajouté au profil matériel du panneau de config. J'ai déjà fait
une routine permettant de récupérer la désignation de ce lecteur/clavier et
de vérifier s'il est bien connecté.
Merci par avance pour votre aide.
Thierry
Je suis en train de développer une application en VBA, sous Excel, qui doit,
lorsque un code barre est lu par un lecteur de code barre, faire une action.
(Je précise que je ne me suis pas trompé de groupe de discussion, mon
problème est bien de programmation VB ou presque, VB, VBA, c'est presque
pareil sur certains points ^_^ )
Mon problème : comment détecter si l'information de saisie numérique vient
du lecteur de code barre ou du clavier normal de l'ordinateur ? En effet
l'action suivante doit être effectuée uniquement si l'information provient
du lecteur de code barre.
Les données : Lorsque le lecteur de code barre est connecté, un nouveau
clavier est ajouté au profil matériel du panneau de config. J'ai déjà fait
une routine permettant de récupérer la désignation de ce lecteur/clavier et
de vérifier s'il est bien connecté.
Merci par avance pour votre aide.
Thierry

Poser une question


Voila comment j'ai pratique.
il faut MSComm sur ton application.
et ensuite.......
'*******************************
'* Parametres lecture port COM *
'*******************************
MSComm1.Settings = "9600,n,8,1"
MSComm1.CommPort = 1 ' 1 sir sur COM1 ou 2 sur COM2 et .....
MSComm1.PortOpen = True
MSComm1.SThreshold = 1
'****************************************************************
'* Capture des datas a traiter : a placer dans un timer
'****************************************************************
Text1.Text = Tampon & MSComm1.Input
Private Sub Text1_Change()
'***********************************************************
'* Remplace le [Enter = Cr] et le [Retour a la ligne = Lf] *
'***********************************************************
Text1.Text = Replace(Text1.Text, vbCr, "")
Text1.Text = Replace(Text1.Text, vbLf, "")
Text1.Text = Trim(Text1.Text)
'*****************************************************************************
'* Traiter les datas saisie par le scanner, suivant la longueur de la donnee
*
'*****************************************************************************
Select Case Len(Text1.Text)
Case 3, 1
'******************
'* N° de l'ouvier *
'******************
Call Nom_Ouvrier
Case 6
'**************************
'* Numero d'Ordre Magasin *
'**************************
Call Om
Case 8
'***************************************
'* Active l'ongle EQUIPE 1 ou EQUIPE 2 *
'***************************************
Call Equipe
Case 9
'************************************************
'* Effacer la grille et zones pour nouveau O.M. *
'************************************************
Call Nouveau_OM
Case 22
'**************************************
'* Ecriture des donnes dans la grille *
'**************************************
Call Essieux
End Select
'********************************
'* Mise a zero de la zone TEXT1 *
'********************************
Text1.Text = ""
End Sub
bonne programmation
Salva
"Thierry Euzenot" message de news: %
C'est peut-être trompeur, mais pour quelqu'un qui n'a pas de lecteur, l e
lien entre cette réponse et la question posée n'est pas évident. De s
fois que j'aie à faire ça un de ces quatre, j'aimerais bien comprendr e.
Peux-tu préciser dans quelle variable tu mets l'information précisant le
périphérique d'où provient le contenu de Text1 ?
Ou bien tu veux dire que Text1 n'est pas visible, qu'on fait la saisie
clavier dans Text2, et que si l'un ou l'autre est modifié on recopie le
contenu dans Text3 ? Effectivement, dans ce cas :
If Text1 = Text3 Then
'saisie par code barre
Else
'saisie par clavier
End If
avec un cas particulier si les zones de texte sont vides.
__________________________________________
Hotmerlino a écrit, le 30/10/2007 20:29 :
je ne travaille dans cette entreprise qu'une fois par semaine et n'ai pas
accès à internet le reste du temps.
Problème supplémentaire que j'ai omis d'évoquer, mon lecteur de code barre
est en USB... comment paramétrer le port USB au lieu d'un port COM ?
Thierry présent pour toute la journée ^_^
"Hotmerlino"