设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2331|回复: 14
打印 上一主题 下一主题

[查询] 有没人能告诉我:如何去掉字符串的字

[复制链接]
跳转到指定楼层
1#
发表于 2009-2-16 18:19:43 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
有没人能告诉我:如何去掉字符串的字
例:
产品名称         单重(克)     数量           重量
手把套(英式)    35.8G         5000        ##
前轮中轴         109.2G      13000        ##
蓬盖折合盖       1G             4500        ##
==============
我要把单重中的G去掉,好让我计重量(产品数量*单重),因产品表中有3W多笔数据,不可能一个个'G'人工删除.
因单量的字符串位数不统一,我试过用LEFT,RIGHT,LEN,不能解决.
望有识人仕,帮忙
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
15#
发表于 2009-4-9 10:17:14 | 只看该作者
学习
14#
发表于 2009-2-16 23:13:27 | 只看该作者
7# todaynew


实际使用时,应增加个[],即val([单重(克)])
13#
 楼主| 发表于 2009-2-16 20:57:47 | 只看该作者
不会吧?!这样也能去掉G?
todaynew 发表于 2009-2-16 19:33

==============================
多谢todaynew提供的REPLACE函数(虽不能用在我的例子中)

VAL([塑料件 表].单重) 很好地解决我的问题。

我还要多多向您们学习。
12#
发表于 2009-2-16 20:55:16 | 只看该作者
参数位置放错了。
Replace函数 返回

描述

返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。

语法

Replace(expression, find, replacewith[, start[, count[, compare]]])

Replace函数语法有如下几部分:

部分 描述
expression 必需的。字符串表达式,包含要替换的子字符串。
find 必需的。要搜索到的子字符串。
replacewith 必需的。用来替换的子字符串。
start 可选的。在表达式中子字符串搜索的开始位置。如果忽略,假定从1开始。
count 可选的。子字符串进行替换的次数。如果忽略,缺省值是 -1,它表明进行所有可能的替换。
compare 可选的。数字值,表示判别子字符串时所用的比较方式。关于其值,请参阅“设置值”部分。


设置值

compare参数的设置值如下:

常数 值 描述
vbUseCompareOption -1 使用Option Compare语句的设置值来执行比较。
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文字比较。
vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。


返回值

Replace的返回值如下:

如果 Replace返回值
expression长度为零 零长度字符串("")。
expression为Null 一个错误。
find长度为零 expression的复本。
replacewith长度为零 expression的复本,其中删除了所有出现的find 的字符串。
start > Len(expression) 长度为零的字符串。
count is 0 expression.的复本。


说明

Replace函数的返回值是一个字符串,但是,其中从start所指定的位置开始,到expression字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。
11#
 楼主| 发表于 2009-2-16 20:52:18 | 只看该作者
select 产品名称,replace(“G”,单重,“”) as 单位重量,数量,单位重量*数量 as 重量 from 表

这样并没有更新。
todaynew 发表于 2009-2-16 19:14

========================================
老兄,我试过你这样,返回的是“G”字符串,得出的重量变成“## 错误”
10#
发表于 2009-2-16 19:44:40 | 只看该作者
这个常用
9#
发表于 2009-2-16 19:39:59 | 只看该作者
试试不就知道了
Henry D. Sy 发表于 2009-2-16 19:35

呵呵,也是.
前两天看了一个这样的写法:int(a)-(a-int(a))>0
琢磨了半天,原来是用了逻辑值。你说这帮家伙怎么想出来的,呵呵。
8#
发表于 2009-2-16 19:35:52 | 只看该作者
不会吧?!这样也能去掉G?
todaynew 发表于 2009-2-16 19:33

试试不就知道了
7#
发表于 2009-2-16 19:33:04 | 只看该作者
val(单重(克))
Henry D. Sy 发表于 2009-2-16 19:24

不会吧?!这样也能去掉G?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-27 00:54 , Processed in 0.108909 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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