使用 TopValues 属性可以返回指定数目的记录,或满足指定条件的记录数百分比。例如,可能要返回一个字段中所有值的前 10 个值,或前 25% 的值。
注释 TopValues 属性仅应用于追加查询、生成表查询和选择查询。
TopValues 属性的设置为 Integer 值,代表返回值的准确个数,或一个百分比 (%) 数字,代表返回记录数的百分比。例如,若要返回前 10 个值,请将 TopValues 属性设为 10;若要返回前 10% 的值,请将 TopValues 属性设为 10%。
不能直接在代码中设置该属性。它通过使用 SQL 语句中的 TOP n 或 TOP n PERCENT 子句,在“查询”窗口的“SQL”视图中进行设置。
也可以使用查询的属性表,或使用“查询设计”工具栏上的“上限值”框设置 TopValues 属性。
注释 在查询属性表和“查询设计”工具栏上的 TopValues 属性是一个组合框,其中一列包含数值和百分比值。可以选取其中之一,或在该控件的文本框部分键入有效的设置。
典型情况下,可将 TopValues 属性设置和经过排序的字段一起使用。显示记录上限值的字段应该是查询设计网格中选取了“排序”框的最左边的字段。如果为升序排序则返回最底端的记录,如果为降序排序则返回最顶端的记录。如果指定了返回特定数目的记录,则所有与最后一条记录中的值匹配的记录都将返回。
例如,假定一组雇员有下列的销售总额。
销售额 |
销售代表 |
90,000 |
Leverling |
80,000 |
Peacock |
70,000 |
Davolio |
70,000 |
King |
60,000 |
Suyama |
50,000 |
Buchanan |
如果将 TopValues 属性设为 3,并对“销售额”字段进行降序排序,Microsoft Access 将返回下列四条记录。
销售额 |
销售代表 |
90,000 |
Leverling |
80,000 |
Peacock |
70,000 |
Davolio |
70,000 |
King |
注释 若要返回最顶部或最底端值,而且不显示重复值,可将查询属性表中的 UniqueValues 属性设为“是”。
下面的示例对 SQL 字符串进行设置,该 SQL 字符串将前 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