2016-08-04 1 views
0

報告があります。現在、私はFGでグルーピングしていて、次にJob Date DESCでソートし、最後にLine(画像には表示されていません)ASCENDでソートしています。しかし、画像を見ると、最初のグループはJob Date7/25/20167/18/2016であることがわかります。報告書の上部に8/1/2016というグループをどうにかして取得すると、より良い見通しになると思います。これどうやってするの?の追加SQL:MS Access:一番上に日付が最も大きいグループをどのように置くことができますか?

1 - medGxLD.png

だから、グループ2と3は1をグループ化し、最終的に4

更新をグループ化することによって、その後レポートの上部にあることを想像し、最終目標を可視化しますレポートにフィードするクエリ。

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)はFG、job_date

は最初

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

レポートのソース

として、このクエリを使用するに基づいて、第2のクエリを作成している場合レポート内で行番号を順番に割り当てることができます

編集: 質問を確認すると、レポート内でFGをグループ化しているように見えるので、fgでソートされています。

レポート上部に8/1/2016のグループを取得するには、すべてのグループに対してRANKを計算し、RANKを使用してレポート内でグループ化することができます。

としてクエリで計算式を追加します:あなたが見るように、日付とFG = 12280435のための最高ランク5を、

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 

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

サンプルデータについて、そのクエリの結果を1/8/20016 次はランク3

+0

なぜ2番目のクエリが必要ですか?最初のクエリで並べ替えを実装できませんか? – whatwhatwhat

+0

また、これは機能しません。 – whatwhatwhat

+0

レポートで使用する最初のクエリのSQLを記述できますか。 –

関連する問題