Access交流中心

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

地址分列的问题

张c  发表于:2016-03-11 11:10:31  
复制

地址分列的问题,有的人写地址没按表格来,写到一起了 ,所以原有地址 的数据有的是没有规律的, 要如何分列?


 

Top
朱先生 发表于:2016-03-11 12:59:32
地址TAB
地址
福建省福州市福州区中山咯42-202
黑龙江省呼和浩特市东山四区南苑45-304

按表中地址分成省、市、区、住所四列

SELECT 地址TAB.地址, Left([地址],InStrRev([地址],"省")) AS 省, Mid([地址],Len(Left([地址],InStrRev([地址],"省")))+1,InStrRev([地址],"市")-Len(Left([地址],InStrRev([地址],"省")))) AS 市, Mid([地址],Len(Left([地址],InStrRev([地址],"省")))+Len(Mid([地址],Len(Left([地址],InStrRev([地址],"省")))+1,InStrRev([地址],"市")-Len(Left([地址],InStrRev([地址],"省")))))+1,InStrRev([地址],"区")-(Len(Left([地址],InStrRev([地址],"省")))+Len(Mid([地址],Len(Left([地址],InStrRev([地址],"省")))+1,InStrRev([地址],"市")-Len(Left([地址],InStrRev([地址],"省"))))))) AS 区, Right([地址],InStrRev([地址],"区")) AS 住所
FROM 地址TAB;

 



张c 发表于:2016-03-11 14:28:56
感谢朱先生,分列后地址里面   上海市北京市   在 省里面没有内容   ,有的地址         在区一栏  填的是市 或者镇,或者没填直接加的街道 ,这样就有很多错误值

朱先生 发表于:2016-03-11 14:54:02

将表上传,看一下格式才好做,各种格式是不同的做法,不是千遍一律的

代码中设定制是i省、市、区、住所,上海市上海市没有“省” 自然是空的

乱七八糟的表电脑也无法辨认

 



张c 发表于:2016-03-11 15:00:21
点击下载此附件这是地址, 下载这个地址的后台 貌似没有设置有效性 ,可以随便填的

朱先生 发表于:2016-03-11 21:31:13

表的填写真是乱七八糟,貌似无法分割,待高手来吧。

如:广西壮族自治区省  广西省北海市合浦县东较场西路24号

就无法将后面的广西省      北海市   ……分割



张c 发表于:2016-03-12 15:59:49

能否 用另外的表    把省 市 区 全  包进去,来保证这三个字段不会出错




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