0

私は以前にこの問題を解決しました。残念ながら、私は自分の解決策を思い出すのに最も苦労しています。

3 つのコンボ ボックスがあり、そのうちの 1 つ (四半期) はユーザーが空のままにすることができます。3 つのコンボ ボックスはすべて、クエリのフィールドに関連付けられています。各フィールドは、グループ化を実行するように設定されています (ケース マネージャー、会計年度、四半期)。四半期のコンボ ボックスが空でない場合、クエリは正しくフィルター処理されます。Case Manager、Fiscal Year、および Quarter に対して Group By を実行します。

四半期のコンボ ボックスが空のままの場合、クエリはケース マネージャーと会計年度でグループ化する必要があります。現在、四半期でも Group By を実行しています。

これは、クエリの SQL です。

SELECT tblCM.CM, tblFY.FiscalYear, tblQtr.Quarter, Count(tblData.CaseNum) AS CountOfCaseNum,
Avg(tblData.[DaysToNotifySite-CompleteCalc]) AS [AvgOfDaysToNotifySite-CompleteCalc],
Avg(tblData.[Days to Contact Site]) AS [AvgOfDays to Contact Site],
Avg(tblData.DaysToHoldMedAfterOrder) AS AvgOfDaysToHoldMedAfterOrder,
Avg(tblData.DaysToHoldMed) AS AvgOfDaysToHoldMed,
Avg(tblData.DaysToIssueDGODec) AS AvgOfDaysToIssueDGODec,
Avg(tblData.DaysToCloseAfterDecRecdByNRC) AS AvgOfDaysToCloseAfterDecRecdByNRC,
Avg(tblData.DaysToCloseCase) AS AvgOfDaysToCloseCase

FROM tblQtr INNER JOIN (tblFY INNER JOIN (tblCM INNER JOIN tblData ON  tblCM.CM = tblData.[CMNames-Corrected])
ON tblFY.FiscalYear = tblData.FiscalYearFilingForm) ON tblQtr.Quarter =  tblData.QtrFilingFormRec

WHERE (((tblData.Type)<>"DRA"))

GROUP BY tblCM.CM, tblFY.FiscalYear, tblQtr.Quarter

HAVING (((tblCM.CM)<>"Doe, John" And (tblCM.CM)=[Forms]! [frmIndividualGoals]![cboCM])
AND ((tblFY.FiscalYear)=[Forms]![frmIndividualGoals]![cboFY])
AND ((tblQtr.Quarter)=IIf([Forms]![frmIndividualGoals]![cboQtr]<>'',[Forms]![frmIndividualGoals]![cboQtr])))
OR (((tblCM.CM)<>"Doe, John" And (tblCM.CM)=[Forms]![frmIndividualGoals]![cboCM])
AND ((tblFY.FiscalYear)=[Forms]![frmIndividualGoals]![cboFY])
AND (([Forms]![frmIndividualGoals]![cboQtr]) Is Null));

SELECT ステートメントは問題ありません。確かに間違っているかもしれません。しかし、私の問題は最後の AND ステートメントにあると思います。ただし、参照用にすべての SQL を提供しました。

現在、コンボ ボックスで選択を行った後、コマンド ボタンを使用してクエリを開き、結果をテストしています。

どなたでもご利用いただけますので、どうぞよろしくお願いいたします。

4

0 に答える 0