设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1443|回复: 6
打印 上一主题 下一主题

[Access本身] [求助]如何从字符格式中提取数字?

[复制链接]
跳转到指定楼层
1#
发表于 2006-1-12 03:36:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一个可能字段包含如下的字符记录:

250P

125 P

175镑

175 镑

请问如何只提取其中的数字呢?

250

125

175

175

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2006-1-12 03:39:00 | 只看该作者
单用EVAL出现错误

还有什么别的办法么?
3#
 楼主| 发表于 2006-1-12 03:45:00 | 只看该作者
呵呵,借用EXCEL里的

搞定了

Public Function sumtext(rng As String)
For i = 1 To Len(rng)
If InStr("0123456789", Mid(rng, i, 1)) And Mid(rng, i + 1, 1) <> ")" Then
  sumtext = sumtext + Mid(rng, i, 1)
Else
  sumtext = sumtext + "+"
End If
Next
sumtext = Eval(sumtext + "+0")
End Function
4#
发表于 2006-1-12 03:57:00 | 只看该作者
何必那么复杂,用Val()函数即可。

Val 函数

返回包含于字符串内的数字,将其作为适当类型的数字值。

语法

Val(string)

必选参数 string 是任何有效的字符串表达式。

说明

Val 函数将在第一个无法识别为数字组成部分的字符处停止读取字符串。不会识别通常被视为数值组成部分的符号和字符,如货币符号和逗号。不过,此函数可以识别基数前缀
  1. &O
复制代码
(对于八进制)和
  1. &H
复制代码
(对于十六进制)。参数中的空格、制表符和换行符将被删除。

下面的函数将返回值 1615198:
  1. Val("    1615 198th Street N.E.")
复制代码

[此贴子已经被作者于2006-1-11 19:58:43编辑过]

5#
发表于 2006-1-12 07:05:00 | 只看该作者
fan0217的方法是正解
6#
 楼主| 发表于 2006-1-12 16:03:00 | 只看该作者
呵呵,学习了,多谢[em01]

点击这里给我发消息

7#
发表于 2015-7-2 07:46:08 | 只看该作者
good
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-14 10:54 , Processed in 0.101139 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表