可使用 TopValues 属性返回特定数量的记录或符合指定条件的一定比例的记录。 例如,你可能要返回某个字段中前 10 个值或所有值的前 25%。
注意: TopValues 属性仅适用于追加、生成表和选择查询。
设置
TopValues 属性设置是一个整数值,表示要返回的值的确切个数或百分号 (%) 前的数字(该数字表示要返回的记录的比例)。 例如,若要返回前 10 个值,请将 TopValues 属性设置为 10;若要返回前 10% 的值,请将 TopValues 属性设置为 10%。
不能直接在代码中设置此属性。 使用 SQL 语句中的 TOP n 或 TOP n PERCENT 子句在查询窗口中的 SQL 视图中设置它。
还可使用查询属性表或“设计”选项卡上“工具”下的“上限值”框设置 TopValues 属性。
注意: 查询的属性表中以及“设计”选项卡上的 TopValues 属性是一个包含值和百分比值列表的组合框。 可选择其中一个值,也可在框中键入任何有效的设置。
备注
通常将 TopValues 属性设置与已排序的字段一起使用。 要显示排在前面的多个值的字段应为最左边的字段,该字段已在查询设计网格中选中“排序”框。 按升序排序返回最底端的记录,而按降序排序则返回最顶端的记录。 如果指定返回特定数量的记录,也会返回具有与最后一条记录中的值匹配的值的所有记录。
例如,假设一组员工的销售总额情况如下。
销售额 |
销售人员 |
90,000 |
米申 |
80,000 |
黄琏 |
70,000 |
廖磊 |
70,000 |
熊飞 |
60,000 |
贾勇 |
50,000 |
尹锋 |
如果将“销售额”字段的 TopValues 属性设置为 3 且按降序排序,则 Microsoft Office Access 2007 返回以下四个记录。
销售额 |
销售人员 |
90,000 |
米申 |
80,000 |
黄琏 |
70,000 |
廖磊 |
70,000 |
熊飞 |
注意: 若要返回排列最靠前或靠后的值并且不显示重复的值,在查询的属性表中将 UniqueValues 属性设为“是”。
示例
下面的示例指定一个 SQL 字符串,它将价格最高的前 10 个产品返回到将显示这 10 个产品的窗体的 RecordSource 属性。
Dim strGetSQL As String
strGetSQL = "SELECT TOP 10 Products.[ProductName] " _
& "AS TenMostExpensiveProducts, " _
& "Products.UnitPrice " _
& "FROM Products " _
& "ORDER BY Products.[UnitPrice] DESC;"
Me.RecordSource = strGetSQL