以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]报错信息,找了很久没有找到原因,请老师帮忙下  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=112958)

--  作者:wangmin2659
--  发布时间:2018/1/5 16:41:00
--  [求助]报错信息,找了很久没有找到原因,请老师帮忙下
Dim text_shuru As WinForm.TextBox = e.Form.Controls("text_saomiao")
If e.Keycode=13 AndAlso text_shuru.text <> Nothing Then
Tables("扫描临时表").Filter="二维码字符串=\'"& text_shuru.text &"\'"
Tables("扫描临时表").Sort = "录入时间 DESC"
If Tables("扫描临时表").Rows.count>0 Then
Dim shijiancha As TimeSpan
Dim kaishijianjian As Date=Tables("扫描临时表").Rows(0)("录入时间")
shijiancha = Date.Now - kaishijianjian
If shijiancha.Seconds < 10 Then ’如果这段不执行的话就不会报错!
MessageBox.Show("为了防止重复录入,同一个二维码的扫描时间必须大于10秒")
Return
End If
End If
Tables("扫描临时表").AddNew
Tables("扫描临时表").Current("二维码字符串")= text_shuru.text
Tables("扫描临时表").Current("录入时间")=Date.Now
Dim Values() As String
values=text_shuru.text.Split(" ")
If values.Length<>6 Then
MessageBox.Show("您扫描的二维码是未知的,请核对后再试")
Else
Dim cmd As new SQLCommand
cmd.C
cmd.CommandText="查询语句省略。。。"
Dim shangpingdangan As String = cmd.ExecuteScalar
With Tables("采购到货")
.AddNew()
.Current("存货编码")=values(0)
.Current("采购单号")=values(1)
.Current("供应商代码")=values(2)
.Current("生产周期")=values(3)
.Current("生产批次")=values(4)
.Current("数量")=values(5)
.Current("扫描时间")=Date.Now
.Current("存货名称")=shangpingdangan
.Current("已入ERP")=0
.DataTable.Save
End With
text_shuru.Value=Nothing
End If
End If



图片点击可在新窗口打开查看此主题相关图片如下:qq截图20180105163510.png
图片点击可在新窗口打开查看

--  作者:wangmin2659
--  发布时间:2018/1/5 16:44:00
--  
思路,扫描二维码,判断二维码录入时间间隔是否低于10秒,如果是10秒内就提醒,并退出程序

就是在这 10秒内扫描的,提醒后,弹出这个错误

--  作者:有点甜
--  发布时间:2018/1/5 17:42:00
--  

试试改成这样

 

Dim text_shuru As WinForm.TextBox = e.Form.Controls("text_saomiao")
If e.Keycode=13 AndAlso text_shuru.text <> Nothing Then
    Dim fdr As DataRow = DataTables("扫描临时表").find("二维码字符串=\'" & text_shuru.text & "\'", "录入时间 DESC")
    If fdr IsNot Nothing Then
        Dim shijiancha As TimeSpan
        Dim kaishijianjian As Date=fdr("录入时间")
        shijiancha = Date.Now - kaishijianjian
        If shijiancha.TotalSeconds < 10 Then \'如果这段不执行的话就不会报错!
            MessageBox.Show("为了防止重复录入,同一个二维码的扫描时间必须大于10秒")
            Return
        End If
    End If
    Dim nr As Row = Tables("扫描临时表").AddNew
    nr("二维码字符串")= text_shuru.text
    nr("录入时间")=Date.Now
    Dim Values() As String
    values=text_shuru.text.Split(" ")
    If values.Length<>6 Then
        MessageBox.Show("您扫描的二维码是未知的,请核对后再试")
    Else
        Dim cmd As new SQLCommand
        cmd.ConnectionName = "数据源"
        cmd.CommandText="查询语句省略..."
        Dim shangpingdangan As String = cmd.ExecuteScalar
        With Tables("采购到货")
            .AddNew()
            .Current("存货编码")=values(0)
            .Current("采购单号")=values(1)
            .Current("供应商代码")=values(2)
            .Current("生产周期")=values(3)
            .Current("生产批次")=values(4)
            .Current("数量")=values(5)
            .Current("扫描时间")=Date.Now
            .Current("存货名称")=shangpingdangan
            .Current("已入ERP")=0
            .DataTable.Save
        End With
        text_shuru.Value=Nothing
    End If
End If


--  作者:wangmin2659
--  发布时间:2018/1/6 9:44:00
--  
老师,按照您的这个修改后,还是会出现这个问题
--  作者:有点蓝
--  发布时间:2018/1/6 9:50:00
--  
控件Validating事件有没有代码?
--  作者:wangmin2659
--  发布时间:2018/1/6 10:14:00
--  
我把这个程序放到到一个新的项目当中,却是没有错误的,搞不懂
--  作者:wangmin2659
--  发布时间:2018/1/6 10:16:00
--  
控件Validating事件是没有代码的
--  作者:有点蓝
--  发布时间:2018/1/6 10:29:00
--  
上传实例看看
--  作者:wangmin2659
--  发布时间:2018/1/6 10:32:00
--  
实例比较多,而且是引用本地数据库的
能QQ远程帮忙看下吗?

--  作者:有点蓝
--  发布时间:2018/1/6 10:39:00
--  
导出这个窗口模板到新的项目,导出相关的表到新项目测试有没有问题?

试试把这个控件删除,重新添加试试