我有一张Excel表格,我从我的客户那里收到,然后导入Access,我会调用该表[tblCustomer],看起来像这样:
ProductID Name Expire date SumofQty
------------ ----------- --------------- --------
3 Flour 13-Dec-2013 6
6 Meat 20-Jan-2014 10
因此该表可能包含100个项目。我希望在同一个表或另一个表中按照SumofQty复制相同的记录6次,然后将下一个记录复制10次,依此类推。 我需要这个原因我现在正在手动为每个产品创建标签。
答案 0 :(得分:9)
您可以使用“Numbers表”轻松地在查询中执行此操作。在数据库中创建一个名为[Numbers]的表,该表由名为[n]的单个字段组成,其字段类型为Numeric (Long Integer)
。在该表中创建值为1,2,3,...的行,其数量远远超过您在[tblCustomer]中看到的最大值。[SumofQty]。在我的测试中,我使用了2500,所以我的[Numbers]表看起来像
n
----
1
2
3
...
2499
2500
然后,对于表[tblCustomer]
中的样本数据ProductID Name Expire date SumofQty
--------- ----- ----------- --------
3 Flour 2013-12-13 6
6 Meat 2014-01-20 10
查询
SELECT tblCustomer.*
FROM
tblCustomer
INNER JOIN
Numbers
ON Numbers.n <= tblCustomer.SumofQty
返回
ProductID Name Expire date SumofQty
--------- ----- ----------- --------
3 Flour 2013-12-13 6
3 Flour 2013-12-13 6
3 Flour 2013-12-13 6
3 Flour 2013-12-13 6
3 Flour 2013-12-13 6
3 Flour 2013-12-13 6
6 Meat 2014-01-20 10
6 Meat 2014-01-20 10
6 Meat 2014-01-20 10
6 Meat 2014-01-20 10
6 Meat 2014-01-20 10
6 Meat 2014-01-20 10
6 Meat 2014-01-20 10
6 Meat 2014-01-20 10
6 Meat 2014-01-20 10
6 Meat 2014-01-20 10