2017-02-10 1 views
0

以下のコードには、アーカイブされたテーブルの外部キーに関連付けられた2つの左結合が含まれています。私は 'FilledBy'をこのイメージのような別々の列として分割することができるレポートを作成しようとしています。 'FilledBy'には、Docline、OCLC、In Houseというカテゴリがあり、レポートは各部門のジャーナルタイトルをグループ化します。レポート用に左結合で複数のカウントを分割するDLookup

enter image description here

テーブルのデータをプルクエリは、次のコードを使用します。 FilledByは、データがグループ化される方法の1つです。私がAccessでグループ化したレポート機能をFilledByのカテゴリに分類すると、すべてを1行にまとめることはできません。 (もし道があれば、教えてください!)このカテゴリーは別の列として配置したいと考えています。

SELECT Count(ArchiveTable.ArchiveID) AS TotalRQ, ArchiveTable.ISSN, _ 
     PatronDatabase.Department, JournalTable.JournalTitle, ArchiveTable.FilledBy 
FROM (ArchiveTable _ 
LEFT JOIN PatronDatabase ON ArchiveTable.PatronID = PatronDatabase.PatronID) _ 
LEFT JOIN JournalTable ON ArchiveTable.ISSN = JournalTable.ISSN 
WHERE (((DatePart("yyyy",[RequestDate]))=2016) AND ((PatronDatabase.PatronType)="Staff") _ 
AND ((ArchiveTable.FolderStatus)="Filled")) 
GROUP BY ArchiveTable.ISSN, PatronDatabase.Department, JournalTable.JournalTitle, _ 
     ArchiveTable.FilledBy; 

小計を記入する方法はありますか?レポートのバインドされていないフィールドでDLookupを試しました。それは私に与えられたすべては1の束だった。

= DLookup("[TotalRQ]", "QryJournalRQbyDept", "ISSN = " & Reports![NRpt]![ISSN] _ 
AND "Department = " & Reports![NRpt]![Department] _ 
AND "FilledBy = OCLC") 
+0

「FilledBy」にはカテゴリ「Docline、OCLC、In House」の意味は何ですか? FilledByはArchiveTableの列のようです。 FilledByは "Docline"、 "OCLC"、または "In House"の値を持つことができますか? – Ami44

+0

はい、正しいです。値は、Docline、OCLC、またはIn house – Stardance

+0

の3つの結果を持つ可能性があります。 'iif(FilledBy = 'Docline'、1,0)'型の構文を使用し、レポートのそのフィールドを合計しますか? – GavinP

答えて

0

私はそれを理解しました。

DepartmentとISSNでグループ化された小計を計算した3つの新しいクエリ(各カテゴリに1つ、Docline、OCLC、In House)を作成しました。

次に、このコードを使用して4つ目のクエリを作成し、結果をまとめて文字列にします。私は明確にするために「A」、「B」、「C」と実際のクエリ名を置換しました:

SELECT DISTINCT a.ISSN, a.JournalTitle, a.Department, 
    (SELECT SUM(DoclineRQ) FROM b WHERE a.ISSN = b.ISSN _ 
     AND a.Department = b.Department) AS DoclineTotal, _ 
    (SELECT SUM(OCLCRQ) FROM c WHERE a.ISSN = c.ISSN _ 
     AND a.Department = c.Department) AS OCLCTotal, _ 
    (SELECT SUM(InHouseRQ) FROM d WHERE a.ISSN = d.ISSN _ 
     AND a.Department = d.Department) AS DocDelTotal, _ 
    Nz([DoclineTotal])+Nz([OCLCTotal])+Nz([InHouseTotal]) AS TotalRQ 
    FROM a; 

は今、私は、最終的なクエリに報告書を結ぶことができ、それが動作します。

私が9ヶ月前にコードの全体構造について尋ねたのと同様の質問に答えたBoyd Pには信用できます。私は追加基準(ANDステートメント)を追加することができ、それをSUMに変更して機能することに気付きました。

関連する問題