分区函数

返回 Variant (String),指示数字在计算的一系列范围内出现的位置。

语法

分区 (数字、 开始、 停止、 间隔)

Partition 函数语法包含以下命名参数:

Part 说明
number 必需。 要根据范围计算的数字。
start 必填。 是整个数字范围的开头的数字。 该数字不能小于 0。
stop 必填。 是整个数字范围末尾的数字。 该数字不能等于或小于 start。
interval 必需。 一个范围和下一个范围之间的差值。 数字不能小于 1。

备注

Partition 函数确定 number 所在的特定范围并返回描述该范围的 Variant (String)。 Partition 函数在查询中最有用。 您可以创建一个选择查询,该查询显示了各个范围内有多少个订单,例如 1 到 1000、1001 到 2000 等范围内的订单值。

下表显示了如何使用三组 start、stop 和 interval 部分确定范围。 “第一个范围”和“最后一个范围”列显示了 Partition 返回的结果。 范围由 lowervalue: uppervalue 表示,其中,范围的低端 (低值) 与具有冒号 ( (的范围 的高端 (高值) 分隔开 来:) 。

start stop interval 第一个范围前 第一个范围 最后一个范围 最后一个范围后
0 99 5 " :-1" " 0: 4" " 95: 99" " 100: "
20 199 10 " : 19" " 20: 29" " 190: 199" " 200: "
100 1010 20 " : 99" " 100: 119" " 1000: 1010" " 1011: "

在前面显示的表中,当 开始 和 停止 定义一组不能均匀除以 间隔的数字时,第三行显示结果。 最后一个范围以 stop 为下限(11 个数字),即使 interval 为 20 时也是如此。

必要时,Partition 会返回带有足够多个前导空格的范围,以便让冒号的左右两侧的字符数等于 stop 中的字符数加 1。 这将确保在将 Partition 与其他数字一起使用时,生成的文本在任何后续排序操作中得到正确的处理。

如果 interval 是 1,则范围为 number:number,无论 start 和 stop 参数是多少都是如此。 例如,如果 interval 是 1,number 是 100,stop 是 1000,则 Partition 会返回 " 100: 100"。

任何参数都可以是十进制值,但在处理之前,它将舍入为最接近的偶数整数。 如果任一参数为 Null, 则 Partition 返回 Null。

示例

此示例假定你有一个包含 Freight 字段的 Orders 表。 它创建了一个选择过程,用于计算各个范围内的货运成本的订单的数量。 Partition 函数首先用于建立这些范围,然后 SQL Count 函数计算每个区域中的订单数。

在此示例中,Partition 函数的参数如下:start = 0,stop = 500,interval = 50。 因此,第一个范围将为 0:49,依此类推,直到 500。

SELECT DISTINCTROW Partition([freight],0, 500, 50) AS Range,
Count(Orders.Freight) AS Count
FROM Orders
GROUP BY Partition([freight],0,500,50);

另请参阅

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。