以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  扫条码提取信息  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82684)

--  作者:foxtable-im
--  发布时间:2016/3/22 19:36:00
--  扫条码提取信息

图片点击可在新窗口打开查看此主题相关图片如下:扫条码.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:客户信息.png
图片点击可在新窗口打开查看

--  作者:foxtable-im
--  发布时间:2016/3/22 19:42:00
--  

如何实现表“开张数”《条形码》列扫入条码后,《账户编号》列自动提取第7位数后9位数,《账期》列提取第16位数后的4位数,《金额》列提取第24位数后的8位数,并保 留两位小数。《账户编号》列提取数字后需要与表“客户信息”的“账户编号”匹配,然后自动将表中的公司名字,业务种类,服务类型,代理商,自动填充到开张数表中。


--  作者:大红袍
--  发布时间:2016/3/22 20:07:00
--  

DataColChanged事件

 

If e.DataCol.Name = "开张数" Then
    If e.newvalue.length >= 32 Then
        e.DataRow("账户编号") = e.newvalue.substring(6, 9)
        e.DataRow("账期") = e.newvalue.substring(15, 4)
        e.DataRow("金额") = e.newvalue.substring(24, 8)
    Else
        e.DataRow("账户编号") = Nothing
        e.DataRow("账期") = Nothing
        e.DataRow("金额") = Nothing
    End If
End If

If e.DataCol.name = "账户编号" Then
    Dim fdr As DataRow = DataTables("客户信息").find("账户编号 = \'" & e.newvalue & "\'")
    If fdr Is Nothing Then
        e.DataRow("公司名字") = Nothing
        e.DataRow("业务种类") = Nothing
    Else
        e.DataRow("公司名字") = fdr("公司名字")
        e.DataRow("业务种类") = fdr("业务种类")
    End If
End If


--  作者:foxtable-im
--  发布时间:2016/3/23 10:23:00
--  

没有提取到


--  作者:大红袍
--  发布时间:2016/3/23 10:24:00
--  

If e.DataCol.Name = "开张数" Then

改成

 

If e.DataCol.Name = "条形码" Then


--  作者:foxtable-im
--  发布时间:2016/3/23 13:16:00
--  

还是不行


--  作者:大红袍
--  发布时间:2016/3/23 15:23:00
--  
不可能,上传具体例子测试。
--  作者:foxtable-im
--  发布时间:2016/3/23 17:32:00
--  

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

图片点击可在新窗口打开查看此主题相关图片如下:客户信息.png
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2016/3/23 17:35:00
--  

If e.DataCol.Name = "条形码" Then
    If e.newvalue.length >= 32 Then
        e.DataRow("账户编号") = e.newvalue.substring(6, 9)
        e.DataRow("账期") = e.newvalue.substring(15, 4)
        e.DataRow("金额") = e.newvalue.substring(24, 8)
    Else
        e.DataRow("账户编号") = Nothing
        e.DataRow("账期") = Nothing
        e.DataRow("金额") = Nothing
    End If
End If

If e.DataCol.name = "账户编号" Then
    Dim fdr As DataRow = DataTables("客户信息").find("账户编号 = \'" & e.newvalue & "\'")
    If fdr Is Nothing Then
        e.DataRow("公司名字") = Nothing
        e.DataRow("业务种类") = Nothing
    Else
        e.DataRow("公司名字") = fdr("公司名字")
        e.DataRow("业务种类") = fdr("业务种类")
    End If
End If


--  作者:大红袍
--  发布时间:2016/3/23 17:45:00
--  
上传foxtable例子测试怎样不行。