设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] ACCESS如何实现替换功能

[复制链接]
跳转到指定楼层
1#
发表于 2011-5-20 15:58:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ACCESS如何实现替换功能
地名        路径                        结果
泰和        中国-江西-泰和        中国-江西-
鄱阳湖        中国-江西-鄱阳湖  中国-江西-
河源        中国-广东-河源        中国-广东-
深圳        中国-广东-深圳        中国-广东-

在表中中三字段“地名”,“路径”,“结果”,我想要通过地名和路径,达到结果这列?在ACCESS中如何实现?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2011-5-20 16:08:28 | 只看该作者
本帖最后由 todaynew 于 2011-5-20 16:11 编辑

假设你的表名称为tbname,则:

select 地名,路径,left(路径,InstrRev(路径,"-")) as 结果 from tbname

为你需要的结果,也可写为:

select 地名,路径,Replace(路径,地名,"") as 结果 from tbname
3#
发表于 2011-5-20 16:08:37 | 只看该作者
查询的方法,基于地名和要去掉的那部分完全相同:
SELECT 表1.地名, 表1.路径, Left([路径],Len([路径])-Len([地名])) AS 表达式1 FROM 表1
4#
 楼主| 发表于 2011-5-20 16:24:35 | 只看该作者
谢谢todaynew 和aslxt
5#
发表于 2011-5-20 16:42:19 | 只看该作者
替换方法
Private Sub Command0_Click()
  Dim rec As ADODB.Recordset
  Dim i As Long
  Set rec = New ADODB.Recordset
  rec.Open "select * from 表1", CurrentProject.Connection, adOpenStatic, adLockOptimistic
  For i = 1 To rec.RecordCount
    rec.Fields("路径") = Replace(rec.Fields("路径"), rec.Fields("地名"), "")
    rec.Update
    rec.MoveNext
  Next i
End Sub
6#
 楼主| 发表于 2011-5-21 09:03:52 | 只看该作者
TKS aslxt
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-30 07:35 , Processed in 0.093065 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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