Office中国论坛/Access中国论坛
标题:
[求助]怎样截取字符串中不确定字符?
[打印本页]
作者:
wang1950317
时间:
2006-4-10 18:50
标题:
[求助]怎样截取字符串中不确定字符?
各位老师,有像如下编号:
A2006
0315-01-02-
003
-001
wh2006
0317
-02-05-
132
质检
2006
0322-01-15-
012
-2 现在要截取 A2006 wh2006 质检2006 同时,还要截取第 3 个 "-" 后面的三位数,最后组成 A2006003 wh2006132 质检2006012 该用什么样的方法?(年月前面的字符数不定,第三个“-”后面三位数固定,再往后的字符数不定),谢谢!
作者:
fan0217
时间:
2006-4-10 18:54
可以,需要自定义函数才可以的.
作者:
wang1950317
时间:
2006-4-10 19:45
请
fan0217老师继续指点!小的对编码不通!谢谢!
作者:
fan0217
时间:
2006-4-10 21:42
'===============================================================================
'-函数名称: MySplit
'-功能描述: 拆分字符串,获得指定格式
'-输入参数说明: 参数1:strMyStr As String 要拆分的字符串
'-返回参数说明: 拆分:质检20060322-01-15-012-2 将获得:质检2006012
'-使用语法示例: MsgBox MySplit("质检20060322-01-15-012-2")
'-参考:
'-使用注意:
'-兼容性: 97,2000,XP,2003
'-作者: fan0217
fan0217@163.com
'-更新日期: 2006-04-10
'===============================================================================
Function MySplit(strMyStr As String) As String
Dim strTemp As String
strTemp = Split(strMyStr, "-", -1)(0)
MySplit = Left(strTemp, Len(strTemp) - 4)
MySplit = MySplit & Split(strMyStr, "-", -1)(3)
End Function
作者:
wang1950317
时间:
2006-4-10 22:18
fan0217版主真是诲人不倦哪!已多次得到您的帮助了,真是不好意思基础太差至今没有多大长进。谢谢您!
作者:
wang1950317
时间:
2006-4-11 19:07
标题:
自定义函数运行问题
fan0217版主,还有点问题需要请教:窗体中有一个组合框[样品编号],一个文本框[报告书号] 我在[样品编号]“更新后”事件中调用您的自定义函数:
Private Sub 样品编号_AfterUpdate()
Me.报告书号 = MySplit([样品编号])
End Sub
出现提示:
运行是错误‘9’:
下标越界
按提示框中的调试模块中这段码是黄色的:
MySplit = MySplit & Split(strMyStr, "-", -1)(3) 不知该怎样解决?谢谢!
[attach]17040[/attach]
作者:
青青
时间:
2006-4-11 19:53
表设计时将编号分字段来存数据,需要时合并字段,因为合并比拆分容易。象国外的将姓和名都分开存储的,便于快速检索。
作者:
fan0217
时间:
2006-4-11 20:33
函数MySplit(strMyStr As String) 中的strMyStr必须是符合"质检20060322-01-15-012-2"这样的格式才行.
在上述函数中没有加入错误处理.你可以自己加入.
作者:
wang1950317
时间:
2006-4-11 23:01
青青小妹的指点不无道理,但一个编号要分成数部分输入的话稍嫌麻烦,本来拆分字符串的目的就是为了简便,使[报告书号]自动合成。 按照fan0217版主的意见加入了错误的处理,前面的出错的话没有了,但“下标越界”的提示仍然出现。 分析原因还是我的组合框下拉单选项问题(不选下拉单选项而直接输入没有问题)。所以不在[样品编号]“更新后”事件中完成,改在“失去焦点”事件中完成,这样在输入完整个样品编号退出后才执行,也就没有了上述问题了。谢谢版主,这个问题又很好地解决了!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3