在 Access 中的查询中使用 DSum 函数中的计算字段

Posted

技术标签:

【中文标题】在 Access 中的查询中使用 DSum 函数中的计算字段【英文标题】:Using a calculated field in a DSum function in a query in Access 【发布时间】:2015-09-03 19:42:40 【问题描述】:

我正在尝试在函数中使用计算字段 CurrentCuotaPaid 运行 DSum,但我不确定是否可行,因为在 DSum 语法中没有可引用的表。

是否可以使用函数中的计算字段运行 DSum 并引用查询本身而不是表?

下面是我完整的 Select 表达式:

SELECT LlamadoDeCapital.ID, LlamadoDeCapital.TotalCapitalCommitted, LlamadoDeCapital.CapitalCallRequestDate, LlamadoDeCapital.CapitalCallDate, LlamadoDeCapital.CurrentCapitalCall, DSum("CurrentCapitalCall","LlamadoDeCapital","CapitalCallDate <=" & CLng([CapitalCallDate])) AS TotalCapitalCalls, [CurrentCapitalCall]/50000000 AS [%CurrentCuotaPaid], DSum("CurrentCuotaPaid","LlamadoDeCapitalQuery","CapitalCallDate <=" & CLng([CapitalCallDate])) AS [% Cumulative Cuota Paid]
FROM LlamadoDeCapital;

这是我使用计算字段的 DSum 函数示例:

DSum("CurrentCuotaPaid","LlamadoDeCapitalQuery","CapitalCallDate <=" & CLng([CapitalCallDate])) AS [% Cumulative Cuota Paid]

当我运行查询时,它完成了查询,但在字段中“#Error”在整个列中重复,而不是正确执行计算。

【问题讨论】:

【参考方案1】:

我能够创建另一个查询并添加来自“LlamadoDeCapitalQuery”的字段。一旦我这样做了,我就可以在 DSum 语法中调用“LlamadoDeCapitalQuery”。

SELECT LlamadoDeCapitalQuery.TotalCapitalCommitted, LlamadoDeCapitalQuery.CapitalCallRequestDate, LlamadoDeCapitalQuery.CapitalCallDate, LlamadoDeCapitalQuery.CurrentCapitalCall, LlamadoDeCapitalQuery.TotalCapitalCalls, LlamadoDeCapitalQuery.[%CurrentCuotaPaid], Format (DSum("[%CurrentCuotaPaid]","LlamadoDeCapitalQuery","CapitalCallDate <=" & CLng([CapitalCallDate])), "Percent") AS [%CumulativeCuotaPaid]
FROM LlamadoDeCapitalQuery;

这是决议。

【讨论】:

以上是关于在 Access 中的查询中使用 DSum 函数中的计算字段的主要内容,如果未能解决你的问题,请参考以下文章

查询字段中的 Dsum 函数无法正常工作

SQLServer中的交叉查询

访问:DSUM 行为怪异

使用表单域的 DSUM 函数

使用 SQL 在 Ms-access 查询中运行 Total

Microsoft Access 表达式 - DSum 多个条件 - 日期