以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  列中内容分列求助?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83021)

--  作者:zsslly
--  发布时间:2016/3/29 20:20:00
--  列中内容分列求助?
我的表中有“客户联系方式”,"第一联系号码","第二联系号码"列,其中“客户联系方式”中的内容为“13855556666    15999996666”不同形式分隔的二个或一个电话号码,分隔的方式有“空格或多个空格”、“,”,"/","-","&"等,也有可能有不及11位的号码,我想把这列的内容分开并填充到"第一联系号码","第二联系号码"列中,求代码?
--  作者:大红袍
--  发布时间:2016/3/29 20:30:00
--  
Dim str As String = "13855556666  -+/  15999996666"
str = System.Text.RegularExpressions.Regex.Replace(str, "[ +-/,\\\\]+", "|")
msgbox(str)

--  作者:zsslly
--  发布时间:2016/3/29 20:40:00
--  
老师您好,我不知道代码写到那里,上传一个案例,求指点?万分感谢!!!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:电话号码分列.table


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

DataColChanged

 

If e.DataCol.name = "客户联系方式" Then
    Dim str As String = e.DataRow("客户联系方式")
    str = System.Text.RegularExpressions.Regex.Replace(str, "[ #+-/&,|\\\\]+", "|")
    Dim ary() As String = str.split("|")
    If ary.length > 0 Then
        e.DataRow("第一联系号码") = ary(0)
    Else
        e.DataRow("第一联系号码") = Nothing
    End If
    If ary.length > 1 Then
        e.DataRow("第二联系号码") = ary(1)
    Else
        e.DataRow("第二联系号码") = Nothing
    End If
End If


--  作者:zsslly
--  发布时间:2016/3/29 21:35:00
--  
请问老师,我还有一列“房号”,其中的内容为102,103,104,202,203,205,1102,1103,1501,1506,......,我想把这一列的最后一数字分离出来,单独放到“零几房”这个列中,应该怎么写代码?求助?
--  作者:大红袍
--  发布时间:2016/3/29 23:06:00
--  
上传实例。
--  作者:zsslly
--  发布时间:2016/3/30 9:16:00
--  
好的,老师!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:取末尾数字.table


--  作者:大红袍
--  发布时间:2016/3/30 10:02:00
--  
If e.DataCol.name = "房间号" Then
    If e.NewValue > "" AndAlso e.NewValue.length >= 3 Then
        e.DataRow("零几房") = val(right(e.NewValue,2))
    Else
        e.DataRow("零几房") = Nothing
    End If
End If

--  作者:zsslly
--  发布时间:2016/3/30 10:21:00
--  
跪谢老师!