Ms access 请参阅Access查询中的整列

Ms access 请参阅Access查询中的整列,ms-access,ms-access-2010,Ms Access,Ms Access 2010,我试图使用引用Excel对象模型的自定义函数计算Access查询中整列数据的百分比。以下是我的代码: Public Function myPercentile25(x As Double) As Double myPercentile25 = Excel.WorksheetFunction.Percentile(x, 0.25) End Function 我已使用以下方法将myPercentile25函数添加到设计视图中的查询列中,其中x等于AgedSalary: 25P: myPercent

我试图使用引用Excel对象模型的自定义函数计算Access查询中整列数据的百分比。以下是我的代码:

Public Function myPercentile25(x As Double) As Double
myPercentile25 = Excel.WorksheetFunction.Percentile(x, 0.25)
End Function
我已使用以下方法将myPercentile25函数添加到设计视图中的查询列中,其中x等于AgedSalary:

25P: myPercentile25([AgedSalary])
我遇到的问题是,查询似乎只获取每一行的百分比,而不是整个列。我更熟悉Excel,在这里我将列称为AgedSalary:AgedSalary。在Access中是否可以使用类似的语法来获取整个列的百分比

谢谢。

当您需要百分比时,使用TOP in Access更容易:

选择前25% [agedSalary] 从[你的桌子] 由[agedSalary]发出的命令; 上述查询将返回前25%的记录。如果需要最大值,即25%的值,可以嵌套上述查询:

选择最大[agedSalary]作为百分位数 从…起 选择前25%[agedSalary] 从[你的桌子] 由[agedSalary]订购 作为一个 如果要使用设计网格执行此操作,请执行以下操作:

对于第一个查询:

在设计视图下半部分的“列”区域中,每个列的下方都有一个“按顺序”组合,您可以在其中选择“升序”或“降序” 可以在查询的属性页中设置顶部值;在设计功能区中单击“属性页”按钮 一旦确定查询有效,即它选择了前25%的行,则需要打开SQL视图,剪切生成的SELECT指令并编写以下内容:

选择a* 从…起 -将刚才剪切的部分粘贴到此处 作为一个
然后返回到设计网格,从柱网中删除*并将所需字段拖到设计视图中。单击设计功能区中的Totals按钮,选择大Sigma,并在刚刚拖动的字段下方的Total行中选择Max

谢谢。如果百分位介于两个值之间,则这种取顶部的方法不会产生任何效果它只是取顶部的值,对吗?@Chris2015没错。如果你想解决这个问题,你应该编写一个VBA函数来处理它。但是,你不能在工作表上下文中思考:你必须考虑如何使用数据行来处理这个场景。我建议你看看DAO和ADO,以了解如何使用记录集我使用DAO,但那是因为我学会了如何使用DAO,并且喜欢直接在“设计”视图中添加“从订单中选择”是可能的?还是必须在“SQL”视图中添加?我遇到了语法错误。@Chris2015请检查我更新的答案。我刚刚添加了有关如何使用“设计”视图执行此操作的说明。您不会保存您的选择f从使用SQL视图开始,但只是一段时间,谢谢!我按照您的安排使用了说明,并且它按应有的方式工作。我刚开始学习Access几天,所以每项任务都非常重要,但您帮了我很大的忙。