以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请问如何实现连续扫描条形码,都记录到当前领用部门的记录中,如图示 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=90011) |
||||
-- 作者:猫小猪 -- 发布时间:2016/9/3 10:45:00 -- 请问如何实现连续扫描条形码,都记录到当前领用部门的记录中,如图示 请老师指点一下,谢谢! 如下图示:
|
||||
-- 作者:有点蓝 -- 发布时间:2016/9/3 10:58:00 -- http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&replyID=621314&ID=89982&skin=1 Dim dr As Row = Tables("表B").AddNew dr("单据类型") = e.DataRow("单据类型") |
||||
-- 作者:猫小猪 -- 发布时间:2016/9/3 11:24:00 -- 问题是解决了,但是光标怎么固定或者说是默认在“条形码”的一栏里。 现在是扫描后,光标会下移一行,需手工点击光标到“条形码”一栏。 |
||||
-- 作者:有点蓝 -- 发布时间:2016/9/3 11:27:00 -- http://www.foxtable.com/webhelp/scr/0729.htm |
||||
-- 作者:猫小猪 -- 发布时间:2016/9/3 14:25:00 -- 刚点击“新增”的时候,光标确定到了“领用部门”, 但是再扫描“条形码”后,确认回车后,新增加行是有了,但光标跑了,没有默认到新增加行的“条形码”位置, 同时还要判断关闭录入窗口时,自动删除因代码自动增行的无效数据行,即“条形码为空的行” 我把项目上传,麻烦帮我看一下,谢谢! 用户名“开发者” 密码:qqqqqq 步骤: 打开“借出”表, 双击表体,弹出录入窗口
|
||||
-- 作者:ljh29206 -- 发布时间:2016/9/3 14:48:00 -- 参考 建议 设置条码的输出格式 为 (值+enter) 把代码放在 keydown 的事件里面 Dim tx As String = e.Form.Controls("TextBox1").text Dim str As String ="\\,|,?,!,@,#,$,%,^,&,*,(,),/,+,~" If
e.KeyCode
= Keys.enter Then e.Cancel = True
Dim
strlm As String ="\\,|,?,!,@,#,$,%,^,&,*,(,),/,+,~" \' "防止条形码 发生 神经病,读入错误,操作多了就可能发生了。" Dim values() As String values = strlm.Split(",") For vap As Integer = 0 To values.Length -1 If tx.Contains( values(vap)) Then messagebox.show("条码读取错误,请重试") goto e End If Next ------------------------ 你的代码 ------------------------ e: e.Form.Controls("TextBox1").text = "" e.Form.Controls("TextBox1").Select End If 这样就可以连续扫描了。 [此贴子已经被作者于2016/9/3 14:50:31编辑过]
|
||||
-- 作者:猫小猪 -- 发布时间:2016/9/5 17:55:00 -- 在我设置的界面里面,怎么还是会弹行呢? 先扫“领用部门”, 再扫“条形码”, “领用部门”没有问题了, 但是扫了“条形码”按回车后,光标跳到了下一行“客户”栏。 |
||||
-- 作者:有点蓝 -- 发布时间:2016/9/5 21:24:00 -- 设置一下窗口的tab顺序 |
||||
-- 作者:猫小猪 -- 发布时间:2016/9/6 9:32:00 -- ![]() ![]() Dim tx As String = e.Form.Controls("txtBarcode").text Dim str As String ="\\,|,?,!,@,#,$,%,^,&,*,(,),/,+,~" If e.KeyCode = Keys.enter Then e.Cancel = True Dim
strlm As String ="\\,|,?,!,@,#,$,%,^,&,*,(,),/,+,~" \' "防止条形码 发生
神经病,读入错误,操作多了就可能发生了." Dim
values() As String values
= strlm.Split(",") For vap As Integer = 0 To values.Length -1 If
tx.Contains( values(vap)) Then messagebox.show("条码读取错误,请重试")
goto e End
If Next e: e.Form.Controls("txtBarcode").text
= "" e.Form.Controls("txtBarcode").Select End If 按顺序这样设置后,暂时是手工输入条码,按ENTER后带出数据,但还是会跳到下一格,是什么问题呢?请老师指点一下,谢谢 |
||||
-- 作者:猫小猪 -- 发布时间:2016/9/6 9:34:00 -- 难道是我的用手工录入的问题? 等于多按了一次ENTER键? |