**请教:如何把一个字段的内容(如(024)-23899087(电话) (024)23987676 23339900(传真) "拆分成多个字段?

rolandzhang 2003-05-23 12:18:29
access字段: phone "(024)-23899087(电话) (024)23987676 23339900(传真) "
我想截取成: area 字段: 024
phone1字段: 23899087
phone2字段: 23987676
phone3字段: 23399900

谢谢!
...全文
89 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lilaclone 2003-05-23
  • 打赏
  • 举报
回复
考虑用Instr函数进行拆分,用(电话)、(传真)几个字符串进行匹配判断后再进行截取
sickleliu 2003-05-23
  • 打赏
  • 举报
回复
如果你的accsee字段格式是固定的(我是指中间的分割符,比如空格),那可以用一个循环
一个一个地读取字符,遇到分割符就断开,如果是完全随意的,那就没办法了
lihonggen0 2003-05-23
  • 打赏
  • 举报
回复
你做界面的时候,就应该分成几个文本框分别录入
避免拆分文本的麻烦,而且容易出错!
jy9525 2003-05-23
  • 打赏
  • 举报
回复
up,等待中,我也在考虑
of123 2003-05-23
  • 打赏
  • 举报
回复
'引用Microsoft VBScript Regular Expressions 5.5
Dim strPhone As String
Dim regEx As RegExp
Dim Match, Matches ' Create variable.

strPhone = "(024)-23899087(电话) (024)23987676 23339900(传真) "
Set regEx = New RegExp ' Create a regular expression.

regEx.Pattern = "\d{3,8}"
regEx.Global = True
If regEx.Test(strPhone) Then
Set Matches = regEx.Execute(strPhone)
For Each Match In Matches
MsgBox Match.Value
Next
End If
of123 2003-05-23
  • 打赏
  • 举报
回复
Dim strPhone As String
Dim tmp As String
Dim sField() As String
Dim i, n As Integer

strPhone = "(024)-23899087(电话) (024)23987676 23339900(传真) "
tmp = Replace(strPhone, "(电话)", "")
tmp = Replace(tmp, "(传真)", "")
tmp = Replace(tmp, "(", "")
tmp = Replace(tmp, "-", " ")
tmp = Replace(tmp, ")", " ")
tmp = Trim(Replace(tmp, " ", " "))
sField = Split(tmp, " ")

rs.Addnew
n = 1
For i = 0 To UBound(sFields)
If Len(sField(i)) = 3 Then
rs!area = sField(i)
Else
rs.Fields("phone" & n) = sField(i)
n = n + 1
End If
Next i
rs.Update
qingming81 2003-05-23
  • 打赏
  • 举报
回复
上面的redim phone(N)应改为
redim preserve phone(N) as telephone
qingming81 2003-05-23
  • 打赏
  • 举报
回复
显示时:
Text1.text=phone(N).postcode & "-" & phone(N).phonenumber
qingming81 2003-05-23
  • 打赏
  • 举报
回复
type telephone
dim postcode as long
dim phonenumber as long
end type

dim phone() as telephone

formload时查出有几条电话,赋值N
'输入时
dim N as long
N=N+1
redim phone(N)
phone(N).postcode ="010"
phone(N).phonenumber ="88888888"
rolandzhang 2003-05-23
  • 打赏
  • 举报
回复
基本上有规律,我正在用字符串函数写,请大家考虑:用数组怎么实现?
of123 2003-05-23
  • 打赏
  • 举报
回复
用RegExp对象(正则表达式)处理。
我正在考虑代码。
pigsanddogs 2003-05-23
  • 打赏
  • 举报
回复
要想实现智能就难了点,建议你观察下你access表该字段值的规律,然后统计下, 再来写代码

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧