I lettori di codici a barre, in emulazione di tastiera, hanno delle impostazioni sul tipo di acquisizione, quindi devi porre il carattere di "Invio", di norma CR (Carriage Return) e LF (Line Feed) dopo la lettura di un codice in modo che venga letto il valore singolarmente e non si debba digitare il tasto di conferma per ogni dato ricevuto (con conseguente valori ripetuti).
Quindi rivedi le istruzioni riportate nel manuale del costruttore, del tuo lettore di codici a barre, per impostare correttamente la acquisizione del dato in base alle tue esigenze di ricerca.