Capturer Code à barre [Résolu]

joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention - 17 juil. 2012 à 17:26 - Dernière réponse :  Utilisateur anonyme
- 11 janv. 2013 à 17:49
bonjour,

j'ai une application de pointage d'articles dans laquelle l'utilisateur donne le numéro de Bon de Livraison et procède à un pointage par informatique en écrivant les 4 premières lettres des articles présents dans le bon de livraison (un par un) et l'application vérifie la quantité et la disponibilité du produit tapé dans le bon de livraison,
Maintenant je veux procéder par le pointage par code à barre dans ce cas, je veux bien que dans le même textbox un utilisateur peut soit donner le code à barre de l'article soit écrire les premières 4 lettres de son nom et par la suite le programme lance la recherche soit par code à barre ou par désignation.L'évènement que j'utilise maintenant est TextChanged().
Voici le Code que j'utilise pour la recherche par désignation, et j'ai selui par code à barre mais je ne sait pas quelle condition mettre pour lancer soit la recherche par désignation soit celle par code à barre.

 Public Sub load_art()
        Dim reader As SqlDataReader
        If statut = "Non" Then
            cnx.ConnectionString = chaine
            '    Try
            cnx.Open()
            Dim cmd As New SqlCommand("SELECT COUNT(AR_Design) From F_ARTICLE where AR_Design like '" & Pointage.TextBox5.Text & "%' AND AR_Design <> 'BON URGENT'", cnx)

            reader = cmd.ExecuteReader()
            reader.Read()
            numrow = reader(0)
            reader.Close()
            cnx.Close()
           
            pagingDS.Clear()
            Dim connectionString As String = chaine
            Dim sql As String = "SELECT Distinct AR_Ref,AR_Design From F_ARTICLE where AR_Design like '" & Pointage.TextBox5.Text & "%' AND AR_Design <> 'BON URGENT' "
            Dim connection As New SqlConnection(connectionString)
            pagingAdapter = New SqlDataAdapter(sql, connection)
            connection.Open()
            Dim i As Integer = 0
            pagingAdapter.Fill(pagingDS, scrollVal, 10, "F_Docligne")

            connection.Close()
            Pointage.DataGridView2.DataSource = pagingDS
            Pointage.DataGridView2.DataMember = "F_Docligne"
            Pointage.DataGridView2.Columns(0).Width = 60
            Pointage.DataGridView2.Columns(1).Width = 210
            pagingDS.Tables("F_Docligne").Columns(0).Namespace = "ID"
            For x As Integer = 0 To Pointage.DataGridView2.Rows.Count - 1
                pagingDS.Tables("F_Docligne").Rows(x).Item(0) = i
                i = i + 1
            Next
            Pointage.DataGridView2.Columns(0).Name = "ID"
            Pointage.TextBox5.ReadOnly = True
            Pointage.TextBox6.ReadOnly = False
            Pointage.DataGridView2.Focus()
        End If
    End Sub

Mais je ne sait pas comment y procéder.
Quelqu'un peu m'aider.

Merci
Afficher la suite 

Votre réponse

14 réponses

Meilleure réponse
Utilisateur anonyme - 19 juil. 2012 à 22:25
3
Merci
comment connaître le caractère de fin de lecture renvoyer par la douchette

Tu peux le détecter comme ceci dans un événement KeyUp :
Dim codecaractere As Integer = Convert.ToInt32(textbox1.text.last)

La table ascii donne les correspondances comme ceci :
48 <-------> 57 |  65 <------------> 90  |  99 <------------> 122
    chiffres       lettres majuscules        lettres minuscules

A toi de voir le code de fin de lecture que donne ta douchette.

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 17 juil. 2012 à 18:19
0
Merci
Bonjour,
Y a t-il des chiffres dans les 4 premières lettres des noms des articles à saisir ?
Les codes barres contiennent-ils uniquement des chiffres ?
Commenter la réponse de Utilisateur anonyme
joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention - 17 juil. 2012 à 20:57
0
Merci
bonjour,

C'est ça le problème j'ai penser à quelque chose comme ça, mais les premières lettre des noms des articles peuvent contenir des chiffres et de même pour les codes à barres, peuvent contenir des chiffres et des lettres.
Commenter la réponse de joujma5
Utilisateur anonyme - 18 juil. 2012 à 18:37
0
Merci
Une douchette envoie un caractère de fin de lecture si elle est bien configurée. Et sur certaines douchettes, on peut choisir ce caractère.
L'utilisateur, lui, appuiera sur entrée pour valider sa saisie.

Il te suffit donc, dans ton événement TextChanged, d'analyser le dernier caractère de la chaîne et, d'après la longueur de cette dernière, agir en conséquence.
Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 18 juil. 2012 à 19:07
0
Merci
Et utilise l'événement KeyUp du textbox plutôt
Commenter la réponse de Utilisateur anonyme
joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention - 18 juil. 2012 à 19:47
0
Merci
Merci bien banana32,
En effet pour faciliter la tâche à l'utilisateur j'ai voulu que le passage de l'article passe directement sans avoir à appuyer sur la touche entrer tout comme dans les magasins.
En faite j'ai essayer de lancer deux requêtes de suite la première vérifie si ce qui est dans le textbox ressemble à un code à barre d'un article présent dans la base, si non lancer une deuxième requête de recherche par désignation.
Mais je pense que ce n'est pas solide comme solution.
Commenter la réponse de joujma5
Utilisateur anonyme - 18 juil. 2012 à 21:34
0
Merci
Ou alors cumuler les deux requête (AND) jusqu'à n'obtenir qu'un seul résultat.
Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 18 juil. 2012 à 21:58
0
Merci
Ou alors tu observes quand même le dernier caractère comme expliqué plus haut.
Si c'est l'utilisateur qui tape, en te servant de KeyUp, au delà de 3 caractères saisis, comme le dernier caractère n'est pas un retour de ligne tu vas chercher une correspondance par nom de produit dans la base de données.
Si c'est la douchette, dans KeyUp aussi, il y aura forcément un retour de ligne et donc tu iras chercher dans ta base par code barres.
Commenter la réponse de Utilisateur anonyme
joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention - 19 juil. 2012 à 20:43
0
Merci
le problème reste toujours le même,comment connaître le caractère de fin de lecture renvoyer par la douchette
Commenter la réponse de joujma5
joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention - 19 juil. 2012 à 22:47
0
Merci
Merci énormément pour ton aide cher ami.
Commenter la réponse de joujma5
joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention - 10 janv. 2013 à 14:48
0
Merci
re bonjour,

en testant le lecteur code à barre j'ai trouvé que la fin de lecture est significative à l'appuie sur la touche entrer du clavier, maintenant je veux savoir comment est ce que c'est possible de différencier entre l'appuie sur la touche entrer après saisie du nom de l'article de celle après la lecture du code à barre par la douchette.
Merci
Commenter la réponse de joujma5
Utilisateur anonyme - 10 janv. 2013 à 19:21
0
Merci
Essaie de paramétrer ta douchette de telle manière qu'elle envoie un autre code de touche à la fin de la lecture du code. Regarde la notice livrée avec ta douchette.
Commenter la réponse de Utilisateur anonyme
joujma5 153 Messages postés samedi 11 novembre 2006Date d'inscription 5 décembre 2014 Dernière intervention - 11 janv. 2013 à 16:32
0
Merci
bonjour,
j'ai fait ça et ça a marché mais le grand problème est qu'on travaille sur deux applications, la première achetée et marche avec la configuration tel que expliquées avant et la deuxième que j'ai programmé.
je ne peux pas procédé à cette solution.
Mais en cherchant sur le net j'ai découvert qu'en connectant le lecteur code à barre au port USB un clavier s'ajoute au panneau de configuration, pourrai je vérifier si l'appuie sur une touche provient de ce clavier ou non?
Commenter la réponse de joujma5
Utilisateur anonyme - 11 janv. 2013 à 17:49
0
Merci
Ta douchette peut aussi surement 'préfixer' un code barre; c'est à dire qu'elle placera un (ou plusieurs) caractère supplémentaire au début de la chaîne.
Une fois de plus, regarde la notice technique de ta douchette.
Commenter la réponse de Utilisateur anonyme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.