设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 727|回复: 6

[表] 一条记录拆分成多条记录的VBA代码

[复制链接]

点击这里给我发消息

发表于 2018-12-16 20:14:41 | 显示全部楼层 |阅读模式
自增ID订单号码订单数量其他字段
1
TMC052
1
D
2
客户A
3
H
3
PW5632
2
W
自增ID订单号码订单数量其他字段
1
TMC052
1
D
2
客户A-1
1
H
3
PW5632-1
1
W
4
客户A-2
1
H
5
客户A-3
1
H
6
PW5632-2
1
W


各位论坛大佬,遇到一个问题,想把表1拆分成表2中的数据,也就是订单数量都改为1,订单号码后面加上“-” & [订单数量],条数就是订单数量。
各位不知遇到过这个问题吗?是不是要建立个临时表,现追加查询到临时表,再删除该条记录,在追加到该表吗?可否能帮忙写下代码或者改下文件,先谢过了!!谢谢!~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2018-12-17 11:26:07 | 显示全部楼层
供参考:
http://www.office-cn.net/thread-113980-1-1.htmlhttp://www.office-cn.net/thread-124777-1-1.html
发表于 2018-12-17 13:03:45 | 显示全部楼层
不用VBA,一个查询就可以实现。
原表为A表,拆分后数据放在B表,需要建一个辅助表T,T中一个字段,存放自然数1到n(大于订单数量的最大值)
如下SQL:
SELECT [订单号码] & "-" & [T].[数字] AS 号码, 1 AS 数量, A.其它字段 INTO B
FROM A LEFT JOIN T ON A.订单数量>=T.数字;

点击这里给我发消息

 楼主| 发表于 2018-12-18 08:27:20 | 显示全部楼层
roych 发表于 2018-12-17 11:26
供参考:
http://www.office-cn.net/thread-113980-1-1.htmlhttp://www.office-cn.net/thread-124777-1-1. ...

多谢R大神,我在研究下,是在原表基础上改动,修改原表的原纪录,增加记录也追加到原表,实例没有订单号-数字

点击这里给我发消息

 楼主| 发表于 2018-12-18 08:30:45 | 显示全部楼层
cgsilicone 发表于 2018-12-17 13:03
不用VBA,一个查询就可以实现。
原表为A表,拆分后数据放在B表,需要建一个辅助表T,T中一个字段,存放自 ...

十分感谢您,我可能需要的是,把原纪录数量修改为1(或者删除它),拆分后的数据插入原表
发表于 2018-12-18 16:08:50 | 显示全部楼层
jiutianxingchen 发表于 2018-12-18 08:30
十分感谢您,我可能需要的是,把原纪录数量修改为1(或者删除它),拆分后的数据插入原表

这个就是你要的结果,所有的数据都到B表中了,删除A表,再把B表改名为A表。

点击这里给我发消息

 楼主| 发表于 2018-12-18 21:08:26 | 显示全部楼层
cgsilicone 发表于 2018-12-18 16:08
这个就是你要的结果,所有的数据都到B表中了,删除A表,再把B表改名为A表。

多谢您回复,A表有其他客户多年信息,有2G的大小,多用户同时操作,不能删除替换
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2020-11-27 12:30 , Processed in 0.097313 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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