以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  扫码问题-窗口内多个编辑框循环扫码  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=104656)

--  作者:G流星雨
--  发布时间:2017/8/2 16:42:00
--  扫码问题-窗口内多个编辑框循环扫码
此主题相关图片如下:无标题.png
按此在新窗口浏览图片
adFile/2017-8/2017821639381148.png" target="_blank">点击浏览该文件
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:扫码枪.foxdb

想问的问题,如图片所示。
此主题相关图片如下:无标题111.png
按此在新窗口浏览图片
[此贴子已经被作者于2017/8/2 16:43:56编辑过]

--  作者:有点甜
--  发布时间:2017/8/2 17:01:00
--  

 循环扫描的问题。

 

方法一: 放一个textbox控件,用来接收你扫描的值。你条形码和电流值的数据,肯定是不同的,根据扫描到的内容,把值填入到对应的控件;

 

方法二:如果焦点在条形码,扫描完以后,跳转到电流值控件,如此反复。


--  作者:有点甜
--  发布时间:2017/8/2 17:03:00
--  

 结论问题,去编写datacolchanged事件

 

If e.DataCol.Name = "结论" Then

    If e.newValue = True The

        e.DataRow("项目一") = "OK"

        e.DataRow("项目二") = "OK"

    Else

        e.DataRow("项目一") = "NG"

        e.DataRow("项目二") = "NG"   

    End If

End If


--  作者:G流星雨
--  发布时间:2017/8/2 23:07:00
--  
If e.Keycode = 13 Then
    Dim nr As Row = Tables("表A").AddNew
    If e.Sender.Text.Length >9  Then
       nr("第一列") = e.Sender.Text
        e.Sender.text = ""
        e.Sender.Select
        e.cancel = True
    Else
        nr("第二列") = e.Sender.Text
        e.Sender.text = ""
        e.Sender.Select
        e.cancel = True
        
    End If
End If



输出:1234567890   在第一列  第一行      
         0.55                在第二列  第二行 (希望在第二列  第一行 )




[此贴子已经被作者于2017/8/2 23:20:19编辑过]

--  作者:有点甜
--  发布时间:2017/8/2 23:48:00
--  
If e.Keycode = 13 Then
    If e.Sender.Text.Length >9  Then
        Dim nr As Row = Tables("表A").AddNew
        nr("第一列") = e.Sender.Text
        e.Sender.text = ""
        e.Sender.Select
        e.cancel = True
    Else
        Dim nr As Row = Tables("表A").Current
        nr("第二列") = e.Sender.Text
        e.Sender.text = ""
        e.Sender.Select
        e.cancel = True
        
    End If
End If

--  作者:G流星雨
--  发布时间:2017/8/3 12:01:00
--  
谢谢甜大师的指导。

帮忙看下,代码好像没问题,有两个问题
1、输出有空白行
2、输出几行后,不会再增加行,并且会出现最后一行数字在变。
[此贴子已经被作者于2017/8/3 12:02:01编辑过]

--  作者:G流星雨
--  发布时间:2017/8/3 12:03:00
--  
附件上传不上来,不知道啥原因
[此贴子已经被作者于2017/8/3 14:57:49编辑过]

--  作者:有点甜
--  发布时间:2017/8/3 12:21:00
--  
我测试没问题。每次条码大于9的时候,都会新增一行的。
--  作者:G流星雨
--  发布时间:2017/8/3 15:15:00
--  
上面的问题已经找到原因:TEXTBOX绑定了列,有时候扫码会出现空的行。

方法二:如果焦点在条形码,扫描完以后,跳转到电流值控件,如此反复。
这个方法如何实现?不知道如何实现跳转




结论问题,去编写datacolchanged事件

 

If e.DataCol.Name = "结论" Then

    If e.newValue = True The

        e.DataRow("项目一") = "OK"

        e.DataRow("项目二") = "OK"

    Else

        e.DataRow("项目一") = "NG"

        e.DataRow("项目二") = "NG"   

    End If

End If

使用了上面的代码,没有效果,不知道还要注意哪些?

[此贴子已经被作者于2017/8/3 15:32:24编辑过]

--  作者:有点甜
--  发布时间:2017/8/3 15:52:00
--  

结论问题,你勾选了【结论】列了吗?勾选后才会赋值的。

 

回复9楼,尽量不要用方法二,这样处理不好,还是你原来的处理方式比较好。