以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  零件按顺序检验  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=106395)

--  作者:dengk03
--  发布时间:2017/9/7 21:05:00
--  零件按顺序检验
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:例子.foxdb

我知道文本框控件的keydown写的不对,for一次都跑完了。但是不知道该怎么写才对。
--  作者:dengk03
--  发布时间:2017/9/7 21:16:00
--  
想了个办法解决这个问题,但是如果有高手能提供个思路就更好了!
--  作者:有点甜
--  发布时间:2017/9/7 22:33:00
--  

一定要按照顺序吗?先扫第二个、再扫第一个这样的行不行?


If e.keyCode = Keys.Enter Then \'自动扫码机录入编号后自动回车,启动以下代码
    e.cancel = True
    Dim tbx As WinForm.TextBox = e.Form.Controls("txtFind")
    Dim str As String = tbx.text
    Dim dr As Integer =Tables("表A").Findrow("[零件号]= \'" & str &"\'")
    If dr >= 0 Then
        Tables("表A").Position =dr
        Tables("表A").current("检测时间")= Date.now
        Tables("表A").current("检测结果")= True
    Else
        messagebox.show("出错")
    End If
    e.sender.Select
    e.sender.Selectall \'全选
End If


--  作者:有点甜
--  发布时间:2017/9/7 22:36:00
--  

按循序就这样写

 

If e.keyCode = Keys.Enter Then \'自动扫码机录入编号后自动回车,启动以下代码
    e.cancel = True
    Dim tbx As WinForm.TextBox = e.Form.Controls("txtFind")
    Dim str As String = tbx.text
    Dim dr As Integer =Tables("表A").Findrow("[零件号]= \'" & str &"\'")
    If dr = Tables("表A").Current.index Then
        Tables("表A").current("检测时间")= Date.now
        Tables("表A").current("检测结果")= True
    Else
        messagebox.show("出错")
    End If
    Tables("表A").Position += 1
    e.sender.Select
    e.sender.Selectall \'全选
End If