2016-08-04 1 views
0

У меня есть отчет. В настоящее время я группируюсь по FG, затем сортирую по Job Date DESC и, наконец, сортируя по Line (не показано на фотографии) ASCEND. Однако, если вы посмотрите на изображение, вы заметите, что первая группа имеет Job Date's 7/25/2016 и 7/18/2016. Я думаю, что это будет выглядеть лучше, если я каким-то образом получаю группы с 8/1/2016 в верхней части отчета. Как я могу это сделать?MS Access: Как я могу поставить группы с наибольшей датой сверху?

1 - medGxLD.png

Таким образом, чтобы визуализировать конечную цель, представьте себе, что группировки 2 и 3 находятся в верхней части отчета с последующей группировкой 1 и, наконец, группируя 4.

Update: Добавлено 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; 

ответ

0

если первый запрос (your_query) имеет Ф.Г., 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, для фг = 12280435 с датой 1/8/20016 следующий ранг 3

+0

Зачем нужен второй запрос? Не могу ли я просто выполнить сортировку в первом запросе? – whatwhatwhat

+0

Кроме того, это не работает. – whatwhatwhat

+0

Можете ли вы написать sql первого запроса, который вы используете в отчете. –

 Смежные вопросы

  • Нет связанных вопросов^_^