I have simple form which i am planning to use on audit the sorting station at my work. Its pretty simple and looks like this:
.
The Problem: I'm using a handheld scanner (Symbol LI4278) to scan bar codes of every SKU contained in a certain bulk. The procedure is simple:
My problem lies in that after i scan a SKU Barcode, focus does not return to text label (T4) in order to keep scanning (SKU TEXT LABEL = T4), unless i hit TAB once. I need this to be automatic, and setfocus property is not working.
Here's my code:
Private Sub txtSKU_Change()
Application.EnableEvents = False
txtBulto.Locked = True
If Len(Me.txtSKU.Value) = 13 Then
Me.L1.ColumnCount = 3
Me.L1.AddItem Me.txtBulto.Value
Me.L1.List(L1.ListCount - 1, 1) = Me.txtSKU.Value
Me.L1.List(L1.ListCount - 1, 2) = Me.txtAuditor2.Value
End If
txtSKU.SetFocus
Application.EnableEvents = True
End Sub
I would really appreciate your help on this. I need this application to work perfect for operation purposes and reduce mistakes.
Regards
Assuming the barcode scanner automatically appends an Enter on each successfull scan, you just need to trap that Enter at KeyDown event and replace with KeyCode 0.
Try comment your txtSKU_Change
Sub and append below to test:
Private Sub txtSKU_Change()
Dim sValue As String
With Me.txtSKU
sValue = WorksheetFunction.Trim(.Value)
If Len(sValue) = 13 Then
With Me.L1
.AddItem Me.txtBulto.Value
.List(.ListCount - 1, 1) = sValue
.List(.ListCount - 1, 2) = Me.txtAuditor2.Value
End With
.Value = vbNullString
End If
End With
End Sub
Private Sub txtSKU_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then KeyCode = 0 ' Rejects Enter Key
End Sub