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

时间:2018-04-11 07:06:43

标签: sql ms-access ms-access-2010

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

我试过了:

  1. 转到属性,在查询中设置字段的格式 并在那里设置所需的格式。它不需要。陌生人 不过,我并不总是可以选择 在属性中格式化。有时它会出现,有时则出现 给我一个空白的空下拉框,我无法从中选择任何内容。
  2. 通过在#'##0.0字段属性中编写Format来手动设置格式。
  3. 使用Format(DSum("AuM","tbl_Client","Portfolio='" & [Portfolio] & "'") AS PortfolioAuM,'#'##.0')
  4. 将格式直接写入我的查询
  5. 格式化不在查询中的字段,但仅限于为查询构建的格式。
  6. 将基础数据重新格式化为Double
  7. 这些尝试都没有奏效。 如何格式化此字段?为什么会这样?

    这是我的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;
    

2 个答案:

答案 0 :(得分:1)

我建议将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字段的数据类型,因此允许您使用标准格式选项。

答案 1 :(得分:0)

SQL Query中的正确格式部分应为

AM <- AM %>%
  rowwise() %>%
  convert_AM_names(., AM)

我还认为修改SQL查询是最好的想法。