Foxtable(狐表)用户栏目专家坐堂 → 求助,扫描条码不能自动输入的问题


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

主题:求助,扫描条码不能自动输入的问题

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/2 11:49:00 [显示全部帖子]

 哪个窗口哪个控件,要做什么功能?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/2 11:53:00 [显示全部帖子]

改一下代码

 

Dim tx As String = e.Form.Controls("TextBox3").text
Dim str As String ="\,|,?,!,@,#,$,%,^,&,*,(,),/,+,~"
If  e.KeyCode = Keys.enter Then
    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
            e.Cancel = True
            messagebox.show("条码读取错误,请重试")
            goto e
        End If
    Next
    Return
    ''------------------------
    ''      你的代码
    ''------------------------
    e:
    e.Form.Controls("TextBox3").text = ""
    e.Form.Controls("TextBox3").Select
End If

[此贴子已经被作者于2017/5/2 11:56:28编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/2 11:55:00 [显示全部帖子]

或者直接改成

 

Dim tx As String = e.Form.Controls("TextBox3").text
Dim str As String ="\,|,?,!,@,#,$,%,^,&,*,(,),/,+,~"
If  e.KeyCode = Keys.enter Then
   
   
    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
            e.Cancel = True
            messagebox.show("条码读取错误,请重试")
            e.Form.Controls("TextBox3").text = ""
            e.Form.Controls("TextBox3").Select
            Exit For
        End If
    Next
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/2 12:31:00 [显示全部帖子]

Dim tx As String = e.sender.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("条码读取错误,请重试")
            e.sender.text = ""
            e.sender.Select
            e.Form.controls("textbox2").text = ""
            Return
        End If
    Next
    Dim fdr As DataRow = DataTables("借书证管理").Find("借书证号 = '" & e.sender.text & "'")
    If fdr IsNot Nothing Then
        Tables("借出登记").current("借书人姓名") = fdr("客户姓名")
    Else
        msgbox("没有这个用户")
    End If
    e.Sender.WriteValue
    e.Sender.SelectAll
End If

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/2 14:28:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新管理项目2 (1).foxdb


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/3 16:46:00 [显示全部帖子]

例子测试没问题,keydown事件代码

 

Dim tx As String = e.sender.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("条码读取错误,请重试")
            e.sender.text = ""
            e.sender.Select
            e.Form.controls("textbox2").text = ""
            Return
        End If
    Next
    Dim fdr As DataRow = DataTables("借书证管理").Find("借书证条码 = '" & e.sender.text & "'")
    If fdr IsNot Nothing Then
        Tables("借出登记").current("借书人姓名") = fdr("客户姓名")
    Else
        msgbox("没有这个用户")
    End If
    e.Sender.WriteValue
    e.Sender.SelectAll
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/4 14:21:00 [显示全部帖子]

关闭窗口的时候,把借书人姓名为空白的行删除。执行代码

 

DataTables("借出登记").DeleteFor("借书人姓名 is null")


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/4 17:40:00 [显示全部帖子]

Dim tx As String = e.sender.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("条码读取错误,请重试")
            e.sender.text = ""
            e.sender.Select
            e.Form.controls("textbox2").text = ""
            Return
        End If
    Next
    Dim fdr As DataRow = DataTables("借书证管理").Find("借书证条码 = '" & e.sender.text & "'")
    If fdr IsNot Nothing Then
        Tables("借出登记").current("借书人姓名") = fdr("客户姓名")
        Tables("借出登记").current("借书证条码") = e.Sender.Text
    Else
        Tables("借出登记").current("借书证条码") = Nothing
        msgbox("没有这个用户")
    End If
    e.Sender.SelectAll
End If

 回到顶部