【问题标题】:MS Access: How can I put the groupings with the largest date on top?MS Access:如何将日期最大的分组放在首位?
【发布时间】:2016-12-10 12:18:39
【问题描述】:

我有一份报告。目前,我按FG 分组,然后按Job Date DESC 排序,最后按Line 排序(图中未显示)ASCEND。但是,如果您查看图像,您会注意到第一组有Job Date7/25/20167/18/2016。我认为如果我以某种方式在报告顶部获得带有8/1/2016 的分组会更好看。我该怎么做?

因此,为了可视化最终目标,假设第 2 组和第 3 组位于报告的顶部,然后是第 1 组,最后是第 4 组。

更新:添加了用于提供报告的查询的 SQL。

SELECT 

    dbo_jobmatl.item, 
    dbo_jobmatl.description, 
    dbo_job.job_date, 
    dbo_job.item AS FGNumber, 
    dbo_job.job, 
    dbo_job.suffix, 
    [qty_complete]*[matl_qty] AS qty_req, 
    dbo_jobmatl.qty_issued, 
    [qty_issued]-[qty_req] AS Variance, 
    IIf([qty_req]=0,0,[variance]/[qty_req]) AS Overage, 
    dbo_jobmatl.scrap_fact, 
    dbo_job.whse, 
    dbo_job.Uf_Production_Line, 
    dbo_job.stat, 
    Switch([Uf_Job_Verified]=1,"Yes",[Uf_Job_Verified]=0,"No") AS verified

FROM 

    dbo_jobmatl 
    INNER JOIN dbo_job ON (dbo_jobmatl.job = dbo_job.job) AND (dbo_jobmatl.suffix = dbo_job.suffix)

WHERE 

        (((dbo_jobmatl.item)=[Forms]![MainForm]![Text0]) 
    AND ((dbo_job.job_date) Between [Forms]![MainForm]![Text2] And [Forms]![MainForm]![Text4]))

ORDER BY 

    dbo_job.job_date DESC, 
    dbo_job.item DESC;

【问题讨论】:

    标签: sql sorting ms-access report ms-access-2013


    【解决方案1】:

    如果第一个查询(your_query)有 fg , job_date

    根据第一个查询创建第二个查询

    select job_date , fg
    from your_query
    order by
    job_date desc, fg
    

    将此查询用作报告的来源

    您可以在报告中按顺序分配行号

    编辑: 当我查看查询时,您似乎在报告中对 FG 进行了分组,因此它按 fg 排序。

    要获得报告顶部带有 8/1/2016 的分组,您可以计算每个组的 RANK,并按 RANK 在报告内分组。

    在查询中添加计算表达式为:

    rank: (SELECT COUNT(T1.fg)
        FROM
        dbo_job AS T1
          WHERE T1.fg < table3.fg)+1
    

    查询样本数据的结果:

     fg         job_date    rank
     12160340   7/25/2016   1
     12160340   7/18/2016   1
     12195704   1/8/2016    3
     12195704   7/25/2016   3
     12280435   1/8/2016    5
    

    如您所见,最高排名 5 ,对于 fg=12280435 日期为 20016 年 1 月 8 日 接下来是3级

    【讨论】:

    • 为什么我需要第二个查询?我不能只在第一个查询中实现排序吗?
    • 能不能写出你在报表中使用的第一个查询的sql。
    • 当我查看 sql 时,您在报告中对 FG 进行分组而不是在 sql 中分组,所以它按 fg 排序。如果你想按 job_date 排序,你应该在 sql.xml 中创建分组。您是否需要所有这些专栏?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 2021-05-14
    • 1970-01-01
    • 2013-12-27
    • 1970-01-01
    相关资源
    最近更新 更多