Sql 无法格式化MS Access查询中的字段
无法格式化我的查询dsumum、tbl_Client、Portfolio='&[Portfolio]&'中的一个字段作为PortfolioAuM 我试过: 通过转到“属性”设置查询中字段的格式 并在那里设置所需的格式。不需要花时间。陌生人 尽管如此,我仍然无法始终选择 属性中的格式设置。有时它会出现,有时它会消失 给我一个空白的下拉框,我不能从中选择任何内容。 通过在“格式”字段属性中写入“0.0”,手动设置格式。 使用FormatdSunum、tbl_客户端、公文包='&[Portfolio]&'将格式直接写入我的查询 作为PortfolioAM,.0' 设置字段的格式不在查询中,而只在生成查询的表单中。 将基础数据重新格式化为双精度 这些尝试都没有奏效。如何格式化此字段?为什么会发生这种情况 以下是我的SQL代码:Sql 无法格式化MS Access查询中的字段,sql,ms-access,ms-access-2010,Sql,Ms Access,Ms Access 2010,无法格式化我的查询dsumum、tbl_Client、Portfolio='&[Portfolio]&'中的一个字段作为PortfolioAuM 我试过: 通过转到“属性”设置查询中字段的格式 并在那里设置所需的格式。不需要花时间。陌生人 尽管如此,我仍然无法始终选择 属性中的格式设置。有时它会出现,有时它会消失 给我一个空白的下拉框,我不能从中选择任何内容。 通过在“格式”字段属性中写入“0.0”,手动设置格式。 使用FormatdSunum、tbl_客户端、公文包='&[Portfolio]
SELECT tbl_Client.CIF, tbl_Client.Portfolio,
tbl_Criteria_Comp.Buyer_Review_StatusID,
tbl_Criteria_Comp.Comp_Review_StatusID,
tbl_Criteria_Tax.Tax_review_StatusID,
tbl_Client.AuM,
DSum("AuM","tbl_Client","Portfolio='" & [Portfolio] & "'") AS PortfolioAuM,
tbl_Client.BuyersReviewStatus,
[AuM]/[PortfolioAuM] AS AuMPoT,
tbl_Client.EntryDateReview
FROM
(tbl_Client INNER JOIN tbl_Criteria_Comp ON tbl_Client.CIF = tbl_Criteria_Comp.CIF)
INNER JOIN tbl_Criteria_Tax ON tbl_Client.CIF = tbl_Criteria_Tax.CIF;
我建议将SQL表达式更改为以下内容,以避免使用DSum函数:
SELECT
tbl_Client.CIF,
tbl_Client.Portfolio,
tbl_Criteria_Comp.Buyer_Review_StatusID,
tbl_Criteria_Comp.Comp_Review_StatusID,
tbl_Criteria_Tax.Tax_review_StatusID,
tbl_Client.AuM,
t.PortfolioAuM,
tbl_Client.BuyersReviewStatus,
[AuM]/[t.PortfolioAuM] AS AuMPoT,
tbl_Client.EntryDateReview
FROM
(
(
tbl_Client INNER JOIN
(
SELECT Portfolio, SUM(AuM) AS PortfolioAuM
FROM tbl_Client
GROUP BY Portfolio
) t
ON tbl_Client.Portfolio = t.Portfolio
)
INNER JOIN tbl_Criteria_Comp ON tbl_Client.CIF = tbl_Criteria_Comp.CIF
)
INNER JOIN tbl_Criteria_Tax ON tbl_Client.CIF = tbl_Criteria_Tax.CIF;
这将保留AuM字段的数据类型,从而允许您使用标准格式选项。SQL查询中正确的格式部分应为
SELECT
[...]
Format(DSum("AuM","tbl_Client","Portfolio='" & [Portfolio] & "'"),'#,#0.0') AS PortfolioAuM
[...]
我还认为修改SQL查询是最好的主意。这很管用。谢谢你的解决方案。知道为什么另一个版本不起作用吗?或者你能向我解释一下为什么你的能起作用吗?@rohrl77我很少在查询中使用DSum,但我认为差异可能是因为在处理记录时会对你使用的DSum进行评估,而在我的示例中,子查询返回的数据类型是预先知道访问的。其他人可能会给出更好的解释。