Private Sub txtKeyDown_Change()
On Error GoTo errhandle
If g_intType = 1 Then '键盘口扫描
If Len(Trim(txtKeyDown)) > 11 Then
txtKeyDown = ""
ElseIf Len(Trim(txtKeyDown)) = 11 Then
'**********************************************************
m_blnQuery = False '取消查询状态
'扫描条码添加到listMsg
If txtKeyDown <> "" Then
listMsg.AddItem Trim(txtKeyDown)
If m_cls.AddNew(Trim(txtKeyDown)) = False Then '添加扫描记录到数据库
Call DisplayMessageBox("扫描失败!")
End If
End If
txtKeyDown.Text = ""
'**********************************************************
Else
txtKeyDown.SetFocus
End If
End If
errhandle:
End Sub
这是我的代码。现在有一个问题不好解决就是。如果txtkeydown中有数据字。要是在扫描就会把原来的位数也给加到11位这时扫出的条码就不对了。
On Error GoTo errhandle
If g_intType = 1 Then '键盘口扫描
If Len(Trim(txtKeyDown)) > 11 Then
txtKeyDown = ""
ElseIf Len(Trim(txtKeyDown)) = 11 Then
'**********************************************************
m_blnQuery = False '取消查询状态
'扫描条码添加到listMsg
If txtKeyDown <> "" Then
listMsg.AddItem Trim(txtKeyDown)
If m_cls.AddNew(Trim(txtKeyDown)) = False Then '添加扫描记录到数据库
Call DisplayMessageBox("扫描失败!")
End If
End If
txtKeyDown.Text = ""
'**********************************************************
Else
txtKeyDown.SetFocus
End If
End If
errhandle:
End Sub
这是我的代码。现在有一个问题不好解决就是。如果txtkeydown中有数据字。要是在扫描就会把原来的位数也给加到11位这时扫出的条码就不对了。
解决方案 »
- 在windowsxp上打包成安装程序后,但是windows2000上安装,msado26.tlb 有问题。
- 有关VB开发DHTML应用程序的问题?
- 对数据库的问题oracle和SQL,分少了可以加!
- 关于VB也使用指针,CopyMemory
- picture box 中文输入问题(高分,在线等)
- vb为什么打不开access创建的数据库,反过来也不行?
- 100分求解,自动调整MSHFlexGrid中的字段宽度??
- 怎么使 MSFlexGrid 中显示 DAO 中RecordSet 语句中的内容??加急!在现等待
- 用vb能创建access数据库吗?用ado对象如何创建表,如何添加字段?谢谢!
- 知道句柄,关闭别的应用程序的问题?destroywindow好像不行,因为它是关同一进程的函数!
- 把excel里的数据导到sql2000数据库中。用vb做。谁用例子给小弟点。
- 有谁有epsonU220的76针式打印机切刀的控制程序。
所以可以在text控件的KeyDown事件中去判断回车符,然后执行你相应的过程,过程完成后就清空文本,这样就不会文本内容重叠了...
就像你手工输入一样,当Text中有资料时,这些资料到底要不要是你去决定,要时就保留不要时就删除,扫描器当然也是一样
只是你可以做的方便些,把Text中的所有资料全选中,当扫描时就可以直接覆盖
'在取得焦点时全选中
Private Sub Text1_GotFocus()
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End Sub'按回车以及扫描完后全选中
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End If
End Sub
Private Sub Text1_GotFocus()
sendkeys "{home}+{end}"
End Sub'按回车以及扫描完后全选中
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
sendkeys "{home}+{end}"
End If
End Sub等于先按下Home键,再按下Shift+End键