以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]代码运行出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97764)

--  作者:chh2321
--  发布时间:2017/3/18 1:18:00
--  [求助]代码运行出错
    Case "影像学意见"
        If e.DataRow.isnull("影像学意见") Then
            e.DataRow("MetaOrg1") = Nothing
        Else
            Dim str As String = e.DataRow("影像学意见")
            Dim mc = System.Text.RegularExpressions.Regex.Matches(str,"(肝|肺|骨|脑|淋巴结|肾)([\\u4e00-\\u9fa5]+)?(考虑)?(转移)")
            If mc.count > 0 Then
                e.DataRow("MetaOrg1") = mc(0).value
                If mc.count > 1 Then
                    e.DataRow("MetaOrg1") = mc(0,1).value
                    If mc.count > 2 Then
                        e.DataRow("MetaOrg1") = mc(0,1,2).value
                        If mc.count > 3 Then
                            e.DataRow("MetaOrg1") = mc(0,1,2,3).value
                        Else
                            e.DataRow("MetaOrg1") = Nothing
                        End If
                    End If
                End If
            End If
        End If

影像学意见字数少的时候没问题,字数多了出错:
.NET Framework 版本:2.0.50727.8745
Foxtable 版本:2016.7.29.1
错误所在事件:表,表B,DataColChanged
详细错误信息:
调用的目标发生了异常。
重载决策失败,因为没有可访问的“Item”接受此数目的参数。

请老师帮助修改代码。


--  作者:有点蓝
--  发布时间:2017/3/18 9:44:00
--  

上实例测试,说明要达到的效果


--  作者:chh2321
--  发布时间:2017/3/18 11:09:00
--  

上传实例,请老师过目
--  作者:chh2321
--  发布时间:2017/3/18 11:10:00
--  
怎么看不到上传的实例,再次上传
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试代码.foxdb


--  作者:有点蓝
--  发布时间:2017/3/18 11:23:00
--  
连接不到数据库,把外部表转为内部表,重新上传例子。
--  作者:chh2321
--  发布时间:2017/3/18 11:32:00
--  
已转成内部数据源
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试代码.foxdb


--  作者:有点蓝
--  发布时间:2017/3/18 11:41:00
--  
说明一下你的代码逻辑,要做什么,和最后需要的效果
--  作者:客人
--  发布时间:2017/3/18 12:05:00
--  
想达到附件中的结果
--  作者:chh2321
--  发布时间:2017/3/18 12:06:00
--  
想达到附件中结果(不知为何不能粘贴图像
图片点击可在新窗口打开查看此主题相关图片如下:搜狗截图20170318120050.jpg
图片点击可在新窗口打开查看

--  作者:chh2321
--  发布时间:2017/3/18 12:10:00
--  
不用字典的方式,而是先用正则表达式匹配,匹配的字段再用关键字替换