Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

用VBA实现提取字符串中的字符。

紫龙啸天  发表于:2013-01-31 10:35:54  
复制

如上图所示:现需要将地址一列中的区名(如南城、莞城、万江等)提取至镇街一列中,请问用VB编辑器如何实现,请给出详细的VB代码。谢谢!!!地址一列中的字符串长度不等,有的15个字,有的20-30不等。

 

Top
李春宝 发表于:2013-01-31 15:53:43

建立一个窗体,在窗体上加个按钮,在按钮点击事件中加如下代码:

Dim gx As String
gx = "update 信息 set 镇街=left(Mid([信息.地址], InStr(1, [信息.地址], '市') + 1),instr(1,Mid([信息.地址], InStr(1, [信息.地址], '市') + 1),'区')) "
DoCmd.RunSQL gx

点击下载此附件



纵云梯 发表于:2013-01-31 17:01:14
=Mid([地址],7,InStr(1,[地址],"区")-7)

李春宝 发表于:2013-01-31 17:54:19
点击下载此附件这回再看看是不是你想要的

落尘_小新 发表于:2013-01-31 21:16:10

如果省和市的名称字符数不固定的话,写成下面这样更准确.

=Mid([地址],InStr(1,[地址],"市"),InStr(1,[地址],"区")-InStr(1,[地址],"市"))






落尘_小新 发表于:2013-01-31 21:21:57

= Mid([地址], InStr(1, [地址], "市") + 1, InStr(1, [地址], "区") - InStr(1, [地址], "市"))

修正一下,前面写的句是错的.这个才对.



紫龙啸天 发表于:2013-01-31 21:41:13

我就是要市后两位就可以了!因为不是每个地址都有区的。



总记录:6篇  页次:1/1 9 1 :