无法格式化 MS Access 查询中的字段

Field in MS Access query can not be formated

我的查询中的一个字段 (DSum("AuM","tbl_Client","Portfolio='" & [Portfolio] & "'") AS PortfolioAuM) 无法格式化。

我试过:

  1. 通过转到属性设置查询中字段的格式 并在那里设置所需的格式。它不需要。陌生人 不过,我并不总是可以选择 select 属性中的格式。有时会出现,有时会出现 给了我一个空白的下拉框,我不能从中 select 任何东西。
  2. 通过在 Format 字段中写入 #'##0.0 手动设置格式 属性。
  3. 使用 Format(DSum("AuM","tbl_Client","Portfolio='" & [Portfolio] & "'") AS PortfolioAuM,'#'##.0')
  4. 将格式直接写入我的查询
  5. 不在查询中格式化字段,而仅在构建查询的表单中。
  6. 将基础数据重新格式化为 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 查询是最好的主意。