In effetti il sistema funziona, ma va messo a puntino.
tu hai usato l'evento "Private Sub CasellaCombinata39_Change()"
che significa che ad ogni digitazione singola sulla tastiera parte la ricerca
quindi per esempio se il tuo numero letto dal lettore fosse 392
in effetti ti verrebbe restituito NON il 392
bensi il 3 poi il 9 e alla fine il 2
ma tu non hai i numeri 3 , 9 e 2 pertanto ti sembra che non funziona .........
Consiglio pertanto di usare l'evento "'Private Sub CasellaCombinata39_AfterUpdate()"
che aspetta che sia digitato tutto il numero/stringa per partire,
pero dici che il tuo lettore di codici a barre non ha l'Enter finale .......
quindi il numero letto resterebbe solamente sullo schermo :((
Ma sei assolutamente sicuro che non ha l'Enter ?????
io ho notizia di lettori di codici di mio nonno senza Enter,
ma tutti quelli recenti hanno di default quella funzione ......
Prova con un file di Excel,
ti posizioni su una cella
leggi un numero con il lettore di codici
vedi il numero nella cella
se il cursore va alla cella successiva allora è Ok, hai Enter
se il cursore resta in fondo alla cella con il numero allora NON hai il Enter
in quel caso non ho soluzione se non cambiare il lettore
Prova a modificare il tuo codice cosi .......
'Private Sub CasellaCombinata39_Change() ' Sostituisci questa riga con quella sotto
Private Sub CasellaCombinata39_AfterUpdate()
' Trova il record corrispondente al controllo
Dim rs As Object
' eccetera .............