2012-01-12 7 views
0

私は現在、人が特定の手順を実行する回数を記録する目的のデータベースを作成しています。彼らは、彼らがいずれかの受信およびNBまたはC.Msアクセスクエリとレポートの作成

TRANSFORM Count(ed.[Entry ID]) AS [CountOfEntry ID] 
SELECT ap.AdultProcedureName, ap.Target, Count(ed.[Entry ID]) AS [Total Of Entry ID] 
FROM tblAdultProcedures AS ap LEFT JOIN tblEntryData AS ed ON ap.AdultProcedureName = ed.[Adult Procedure] 
GROUP BY ap.AdultProcedureName, ap.Target 
PIVOT ed.Grade; 

私が持っている私は、データベースとの量をカウントする次のクエリを作成している

NBまたはCのいずれかでこれらの手続きに時間がマークされていますこのクエリの結果を表示し、NBとCのスコアの%を計算するレポートを作成しました。

グレードスコアのいずれのデータもない場合(NBまたはC) レポートの列見出しには、レポートが表示されないエラーがあります。表示するデータがない場合でも、列N Bおよび列Cを作成するために、クエリまたはレポートに書き込む方法はありますか。

私のデータベースのスクリーンショットです。 http://www.flickr.com/photos/mattcripps/6684779281/

私の知る限りリコールとして予め

+0

私は、N、B(あなたが列に対して、このデータを返すにしか興味と思っていましたC)。そうであれば、それらのデータはありません。報告書を作成しようとする目的は何ですか? –

+0

@MattDonnanはい何もデータがない場合は、明らかにレポートは必要ありませんが、実行された人が10回の手順しかせずにNを受信した場合、レポートは実行されず、BとC colunm – user1132612

+0

上記のクロスタブSQLを見ると、グレードNの値しかない場合は、グレード列を全体として指定し、各タイプごとに個別に指定しないので、レポートは失敗しません。 1行しか報告しないかもしれません。 –

答えて

1

のおかげで、ちょうどINはそれを修正する必要があります追加:

<...> 
PIVOT ed.Grade IN ("N","B","C"); 
+0

非常に感謝しています、それは私が思ったよりずっと簡単でした – user1132612

関連する問題