Cha*_*ger 2 ms-access access-vba ms-access-2010
我有一个Excel表格,我从我的客户收到,我被导入Access,我会调用该表[tblCustomer],看起来像这样:
ProductID Name Expire date SumofQty
------------ ----------- --------------- --------
3 Flour 13-Dec-2013 6
6 Meat 20-Jan-2014 10
Run Code Online (Sandbox Code Playgroud)
因此该表包含100个项目.我希望在同一个表或另一个表中按照SumofQty复制相同的记录6次,然后将下一个记录复制10次,依此类推.我需要这个原因我现在就会为每个产品创建标签.
您可以使用"Numbers表"轻松地在查询中执行此操作.在数据库中创建一个名为[Numbers]的表,该表由一个名为[n]的字段组成,其字段类型为Numeric (Long Integer).在该表中创建值为1,2,3,...的行,其数量远远超过您在[tblCustomer]中看到的最大值.[SumofQty].在我的测试中,我使用了2500,所以我的[Numbers]表看起来像
n
----
1
2
3
...
2499
2500
Run Code Online (Sandbox Code Playgroud)
然后,对于表格[tblCustomer]中的样本数据
ProductID Name Expire date SumofQty
--------- ----- ----------- --------
3 Flour 2013-12-13 6
6 Meat 2014-01-20 10
Run Code Online (Sandbox Code Playgroud)
查询
SELECT tblCustomer.*
FROM
tblCustomer
INNER JOIN
Numbers
ON Numbers.n <= tblCustomer.SumofQty
Run Code Online (Sandbox Code Playgroud)
回报
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6085 次 |
| 最近记录: |