无法格式化 MS Access 查询中的字段
Field in MS Access query can not be formated
我的查询中的一个字段 (DSum("AuM","tbl_Client","Portfolio='" & [Portfolio] & "'") AS PortfolioAuM
) 无法格式化。
我试过:
- 通过转到属性设置查询中字段的格式
并在那里设置所需的格式。它不需要。陌生人
不过,我并不总是可以选择 select
属性中的格式。有时会出现,有时会出现
给了我一个空白的下拉框,我不能从中 select 任何东西。
- 通过在
Format
字段中写入 #'##0.0
手动设置格式 属性。
- 使用
Format(DSum("AuM","tbl_Client","Portfolio='" & [Portfolio] & "'")
AS PortfolioAuM,'#'##.0')
将格式直接写入我的查询
- 不在查询中格式化字段,而仅在构建查询的表单中。
- 将基础数据重新格式化为
Double
None 这些尝试成功了。 如何设置此字段的格式?为什么会这样?
这是我的 SQL 代码:
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 查询是最好的主意。
我的查询中的一个字段 (DSum("AuM","tbl_Client","Portfolio='" & [Portfolio] & "'") AS PortfolioAuM
) 无法格式化。
我试过:
- 通过转到属性设置查询中字段的格式 并在那里设置所需的格式。它不需要。陌生人 不过,我并不总是可以选择 select 属性中的格式。有时会出现,有时会出现 给了我一个空白的下拉框,我不能从中 select 任何东西。
- 通过在
Format
字段中写入#'##0.0
手动设置格式 属性。 - 使用
Format(DSum("AuM","tbl_Client","Portfolio='" & [Portfolio] & "'") AS PortfolioAuM,'#'##.0')
将格式直接写入我的查询
- 不在查询中格式化字段,而仅在构建查询的表单中。
- 将基础数据重新格式化为
Double
None 这些尝试成功了。 如何设置此字段的格式?为什么会这样?
这是我的 SQL 代码:
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 查询是最好的主意。