Foxtable(狐表)用户栏目专家坐堂 → 关于扫描条码的问题


  共有2855人关注过本帖树形打印复制链接

主题:关于扫描条码的问题

帅哥哟,离线,有人找我吗?
hongyefor
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:524 积分:3676 威望:0 精华:0 注册:2012/7/27 10:28:00
关于扫描条码的问题  发帖心情 Post By:2019/4/8 21:08:00 [只看该作者]

1,思路:扫描标签条码,得到相应的数据

2,遇到的问题:可能部分标签会存在2个条码,1个是69商品条码一般是13位的,另1个是数据条码一般是19位的(有时也有13位的但是开头一般不是69,这个暂时不去管它),我需要扫描19位的条码,但是又担心扫到69商品条码,又担心扫错其他小于19位的条码。

3,现在想要实现的是,我扫码等于19位的才可以,大于19位或者小于19位都会弹出窗口提示错误,下面代码如何去改

Dim smq As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim kh As WinForm.Label = e.Form.Controls("Label1")
Dim ys As WinForm.Label = e.Form.Controls("Label2")
Dim gg As WinForm.Label = e.Form.Controls("Label3")
Dim wm As WinForm.Label = e.Form.Controls("Label4")
Dim tm As WinForm.Label = e.Form.Controls("Label5")
If smq IsNot Nothing
    If smq.text.Length = 19 Then
        With Tables("装箱数据")
            Dim r As Integer
            r = .Find(smq.text, .RowSel + 1, "条码数据", False, False, True)
            If r > - 1 Then '如果找到符合条件的行
                smq .ForeColor = Color.Red
                kh.text = smq.text.SubString(0,9)
                kh.ForeColor = Color.Red
                ys.text = smq.text.SubString(9,3)
                ys.ForeColor = Color.Red
                gg.text = smq.text.SubString(12,2)
                gg.ForeColor = Color.Red
                wm.text = smq.text.SubString(14,5)
                wm.ForeColor = Color.Red
                Dim Result As DialogResult
                Result = MessageBox.Show("扫码重复请检查是否存在装箱错误" & vblf  & smq.text, "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
                If Result = DialogResult.ok Then
                    smq.Value = ""
                End If
            Else
                tm.text = smq.text
                kh.text = smq.text.SubString(0,9)
                ys.text = smq.text.SubString(9,3)
                gg.text = smq.text.SubString(12,2)
                wm.text = smq.text.SubString(14,5)
                Dim zxtb As Row = Tables("装箱数据").AddNew
                zxtb("条码数据") = smq.text
                zxtb("款号") = kh.text
                zxtb("颜色") = ys.text
                zxtb("规格") = gg.text
                zxtb("唯一码") = wm.text
                smq.Value = ""
            End If
        End With
    Else
        Dim Result As DialogResult
        Result = MessageBox.Show("扫码位数错误" , "提示", MessageBoxButtons.ok, MessageBoxIcon.Question)
        If Result = DialogResult.ok Then
            smq.Value = ""
        End If
    End If
End If

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/8 22:10:00 [只看该作者]

代码没有问题,执行有什么错误?

 回到顶部
帅哥哟,离线,有人找我吗?
hongye
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:437 积分:2949 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2019/4/8 22:23:00 [只看该作者]

TextBox1里的TextChanged里,如果这样扫码会弹出“扫码位数错误”的窗口,根本不能扫取全部数据(在控件中每输入或删除一个字符,都会触发TextChanged事件),如果放在ValueChanged里,扫码后没反应,只有离开控件后才能写入或者提示

 回到顶部
帅哥哟,离线,有人找我吗?
hongye
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:437 积分:2949 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2019/4/8 22:27:00 [只看该作者]

我需要的是在条码全部输入后才能继续执行下面的代码,但是光标还是停留在TextBox1里,而不是关闭或者在输入中执行,由于一些条码只有13位扫码后就没反应了
[此贴子已经被作者于2019/4/8 22:28:35编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/8 22:41:00 [只看该作者]

扫描枪正常情况下扫码完毕后会提交一个回车符,如果没有可以到扫描枪里设置。

然后判断文本框接收到回车符再去解析文本。比如keydown事件

 回到顶部
帅哥哟,离线,有人找我吗?
hongye
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:437 积分:2949 威望:0 精华:0 注册:2011/3/15 12:49:00
  发帖心情 Post By:2019/4/8 22:57:00 [只看该作者]

写一个示例代码我参考一下吧

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/4/8 23:02:00 [只看该作者]

http://www.foxtable.com/webhelp/scr/0741.htm

If e.KeyCode = Keys.enter Then
     '原来的处理代码
    e.Sender.Text = 
"
"
    e.Cancel = 
True
End
 
If
[此贴子已经被作者于2019/4/8 23:02:19编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/9 9:29:00 [只看该作者]

1、你扫描条码扫到的内容是什么?请贴出来。正常的、出错的,分别贴出来。

 

2、你现在是要扫描多种条码的功能是吗?


 回到顶部