Office中国论坛/Access中国论坛

标题: 一条记录拆分成多条记录的VBA代码 [打印本页]

作者: jiutianxingchen    时间: 2018-12-16 20:14
标题: 一条记录拆分成多条记录的VBA代码
自增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,订单号码后面加上“-” & [订单数量],条数就是订单数量。
各位不知遇到过这个问题吗?是不是要建立个临时表,现追加查询到临时表,再删除该条记录,在追加到该表吗?可否能帮忙写下代码或者改下文件,先谢过了!!谢谢!~


作者: roych    时间: 2018-12-17 11:26
供参考:
http://www.office-cn.net/thread-113980-1-1.htmlhttp://www.office-cn.net/thread-124777-1-1.html

作者: cgsilicone    时间: 2018-12-17 13:03
不用VBA,一个查询就可以实现。
原表为A表,拆分后数据放在B表,需要建一个辅助表T,T中一个字段,存放自然数1到n(大于订单数量的最大值)
如下SQL:
SELECT [订单号码] & "-" & [T].[数字] AS 号码, 1 AS 数量, A.其它字段 INTO B
FROM A LEFT JOIN T ON A.订单数量>=T.数字;

作者: jiutianxingchen    时间: 2018-12-18 08:27
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大神,我在研究下,是在原表基础上改动,修改原表的原纪录,增加记录也追加到原表,实例没有订单号-数字
作者: jiutianxingchen    时间: 2018-12-18 08:30
cgsilicone 发表于 2018-12-17 13:03
不用VBA,一个查询就可以实现。
原表为A表,拆分后数据放在B表,需要建一个辅助表T,T中一个字段,存放自 ...

十分感谢您,我可能需要的是,把原纪录数量修改为1(或者删除它),拆分后的数据插入原表
作者: cgsilicone    时间: 2018-12-18 16:08
jiutianxingchen 发表于 2018-12-18 08:30
十分感谢您,我可能需要的是,把原纪录数量修改为1(或者删除它),拆分后的数据插入原表

这个就是你要的结果,所有的数据都到B表中了,删除A表,再把B表改名为A表。
作者: jiutianxingchen    时间: 2018-12-18 21:08
cgsilicone 发表于 2018-12-18 16:08
这个就是你要的结果,所有的数据都到B表中了,删除A表,再把B表改名为A表。

多谢您回复,A表有其他客户多年信息,有2G的大小,多用户同时操作,不能删除替换




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3