以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  电话号码显示问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=161588)

--  作者:昱飞哥
--  发布时间:2021/3/23 15:36:00
--  电话号码显示问题
比如,我的很多table中都有“电话”这一列,如下图:已经输入了很多电话号码,例如13879554545

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

第一个问题:
现在我想通过一个按钮,单击一下,将所有table里的所有“电话”这一列里的已经输入的号码全都改成这种格式:138-7955-4545
请教老师,如何写代码?

第二个问题:反之,“电话”列里原有很多电话号码都是138-7955-4545这种格式,我想把他们的“—”号一次性全去掉,请问代码怎么写

--  作者:有点蓝
--  发布时间:2021/3/23 15:40:00
--  
遍历所有行处理:http://www.foxtable.com/webhelp/topics/0419.htm

For Each dr As DataRow In DataTables("订单").DataRows
   dr(
"电话") = dr("电话").insert(7,"-").insert(3,"-")
\'去掉 dr("电话") = dr("电话").replace("-","")
Next

--  作者:昱飞哥
--  发布时间:2021/3/23 16:03:00
--  
如果是座机号码,比如07693899399
就变成这种格式:0769-3899399
这个代码咋写

--  作者:有点蓝
--  发布时间:2021/3/23 16:12:00
--  
判断一下字符串,如果是0开头的,就设置为上面的格式,否则按手机号处理


--  作者:昱飞哥
--  发布时间:2021/3/23 16:23:00
--  
以0开头用StartsWith“0”,那要是表达“不以0开头”怎么用代码表述呢
--  作者:有点蓝
--  发布时间:2021/3/23 16:36:00
--  
if “xxx”.StartsWith(“0”) = false
--  作者:昱飞哥
--  发布时间:2021/3/23 17:18:00
--  
谢谢老师
--  作者:昱飞哥
--  发布时间:2021/3/23 17:35:00
--  
老师,以下报错是什么原因呢?

图片点击可在新窗口打开查看此主题相关图片如下:报错.jpg
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2021/3/23 17:38:00
--  
贴出具体代码说明
--  作者:昱飞哥
--  发布时间:2021/3/24 15:28:00
--  
以下内容为程序代码:

1 For Each dr As DataRow In DataTables("客户联系人信息表").DataRows
2 If dr("电话").contains("-") = False Then
3 If dr("电话") IsNot Nothing And dr("电话").StartsWith("0") = False Then
4 dr("电话") = dr("电话").insert(7,"-").insert(3,"-")
5 End If
6 If dr("电话") IsNot Nothing And dr("电话").StartsWith("0") Then
7 dr("电话") = dr("电话").insert(4,"-")
8 End If
9 End If
10 Next