首页 > 解决方案 > MS ACESS : 限制 ms 访问查询中的行数

问题描述

我有两个表,我想从表 1 中选择一些特定数量的记录。记录数必须等于表 2 中提到的值。

表格1
表格1

表2
表 2

输出中的记录数必须等于表 2 中的 qty 列。是否可以使用访问或我必须使用 VBA。

标签: vbams-access

解决方案


您可以使用笛卡尔(乘法)查询:

SELECT 
    Products.*, 
    Barcodes.*
FROM 
    (SELECT DISTINCT 
        [Tens]+[Ones] AS Factor, 
        10*Abs([Deca].[id] Mod 10) AS Tens, 
        Abs([Uno].[id] Mod 10) AS Ones
    FROM 
        MSysObjects AS Uno, 
        MSysObjects AS Deca) AS F, 
    Products 
INNER JOIN 
    Barcodes
    ON Products.Barcode = Barcodes.Barcode
WHERE 
    F.Factor <= Barcodes.Qty;

这将为每个条形码创建多达 100 个标签。


推荐阅读