Private Sub Grid_Stock_KeyPress(KeyAscii As Integer) Dim I As Integer Dim TmpStr As StringIf Backing = False Then Exit SubIf Backing = True And ((KeyAscii < 48 Or KeyAscii > 57) _ And KeyAscii <> 13) Then KeyAscii = 0 If KeyAscii = 13 Then ScanID = Trim(ScanID) If Len(ScanID) <> 16 Then MsgBox "您输入的编码不符合要求!" ScanID = "" Exit Sub End If If AddCard Is Nothing Then MsgBox "数据连接不存在!" ScanID = "" Exit Sub End If If AddCard.GetNumber(ScanID) = False Then MsgBox "你输入的编码无效" ScanID = "" Exit Sub End If Grid_Stock.Rows = Grid_Stock.Rows + 1 Grid_Stock.TextMatrix(Grid_Stock.Rows - 2, 0) = CStr(Grid_Stock.Rows - 2) Grid_Stock.TextMatrix(Grid_Stock.Rows - 2, 1) = ScanID ScanID = "" Else If KeyAscii <> 0 Then ScanID = ScanID & Chr(KeyAscii) lbl.Caption = ScanID & " " & CStr(Len(ScanID)) '''发布时需要屏蔽 End If End Sub我用了FlexGrid控件,扫描器也要设置为每读一个条码后而加一个回车.ScanID是一个窗体级变量
我用过串口进行条码扫描的,MSCOMM 控件就行了,我有原代码不知道对你是否有帮助
留下你的E-MAIL
Dim I As Integer
Dim TmpStr As StringIf Backing = False Then Exit SubIf Backing = True And ((KeyAscii < 48 Or KeyAscii > 57) _
And KeyAscii <> 13) Then KeyAscii = 0
If KeyAscii = 13 Then
ScanID = Trim(ScanID)
If Len(ScanID) <> 16 Then
MsgBox "您输入的编码不符合要求!"
ScanID = ""
Exit Sub
End If
If AddCard Is Nothing Then
MsgBox "数据连接不存在!"
ScanID = ""
Exit Sub
End If
If AddCard.GetNumber(ScanID) = False Then
MsgBox "你输入的编码无效"
ScanID = ""
Exit Sub
End If
Grid_Stock.Rows = Grid_Stock.Rows + 1
Grid_Stock.TextMatrix(Grid_Stock.Rows - 2, 0) = CStr(Grid_Stock.Rows - 2)
Grid_Stock.TextMatrix(Grid_Stock.Rows - 2, 1) = ScanID
ScanID = ""
Else
If KeyAscii <> 0 Then ScanID = ScanID & Chr(KeyAscii)
lbl.Caption = ScanID & " " & CStr(Len(ScanID)) '''发布时需要屏蔽
End If
End Sub我用了FlexGrid控件,扫描器也要设置为每读一个条码后而加一个回车.ScanID是一个窗体级变量