Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

Partition 函数

时 间:2021-02-07 08:01:25
作 者:杨雪   ID:42182  城市:南京
摘 要:返回 Variant (String),指示数字在计算的一系列范围内出现的位置。
正 文:

语   法:
分区(number, start, stop, interval)
Partition 函数语法包含以下命名参数:
Part                      说明
number 必需。      要针对区域计算的数字。
start 必需。           作为整个数字范围的开头的数字。 该数字不能小于 0。
stop 必需。           总数字范围的结束的数字。 该数字不能等于或小于 start。
interval 必需。       一个范围和下一个范围之间的差异的数字。 该数字不能小于1。


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


下表显示了如何使用三组 start、stop 和 interval 部分确定范围。 “第一个范围”和“最后一个范围”列显示了 Partition 返回的结果。 区域由_lowervalue_: _uppervalue_表示, 其中范围的低端 (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: "

在前面显示的表中, 第三行显示当_start_和_stop_定义一组不能按_间隔_划分的数字时的结果。 最后一个范围以 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。


示   例:
本示例假定您有一个包含 "数量" 字段的 "采购订单明细" 表。 它创建了一个选择过程,用于计算各个范围内的的数量。 首先使用分区函数建立这些区域, 然后 SQL Count函数对每个区域中的数量进行计数。
在此示例中,Partition 函数的参数如下:start = 0,stop = 500,interval = 50。 因此,第一个范围将为 0:49,依此类推,直到 500。


图   示:

点击图片查看大图


代   码:

Select DISTINCTROW Partition([数量],0, 500, 50) AS Range, Count(采购订单明细表.数量) AS [Count]
FROM 采购订单明细表
GROUP BY Partition([数量],0,500,50);


附   件:

点击下载此示例



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助