2010-07-13 128 views
0

如果我有幾個賬戶跟蹤數據每月與行標報告:的MS Access 03查詢Criteras

UNITS, 
REVENUE, 
AVG REV/UNIT 

我將如何創建一個查詢,將過濾報告,只顯示戶口所在UNITS行增加/減少25%,AVG REV/UNIT從前一個月增加/減少10%到當前月份。

一個例子是對六月份我有數字....

  JUN 
UNITS  3,271 
Revenue  $3,598.10 
Avg R/U  $1.08 

所以,當我在七月底運行報告中,我只希望有一個25%的差異帳戶單位和/或AVG REV/UNIT 10%的差異顯示在報告上。

qryPharmacy 
SELECT PHAR_REPORT.*, (IIf(u1 Is Null,0,u1)+IIf(u2 Is Null,0,u2)+IIf(u3 Is Null,0,u3)+IIf(u4 Is Null,0,u4)+IIf(u5 Is Null,0,u5)+IIf(u6 Is Null,0,u6)+IIf(u7 Is Null,0,u7)+IIf(u8 Is Null,0,u8)+IIf(u9 Is Null,0,u9)+IIf(u10 Is Null,0,u10)+IIf(u11 Is Null,0,u11)+IIf(u12 Is Null,0,u12)) AS USUM, (IIf(r1 Is Null,0,r1)+IIf(r2 Is Null,0,r2)+IIf(r3 Is Null,0,r3)+IIf(r4 Is Null,0,r4)+IIf(r5 Is Null,0,r5)+IIf(r6 Is Null,0,r6)+IIf(r7 Is Null,0,r7)+IIf(r8 Is Null,0,r8)+IIf(r9 Is Null,0,r9)+IIf(r10 Is Null,0,r10)+IIf(r11 Is Null,0,r11)+IIf(r12 Is Null,0,r12)) AS RSUM, RMonth.*, PG2.*, PG.pGroup 
FROM PHAR_REPORT, RMonth, PG2, PG 
WHERE (((PHAR_REPORT.PR) Like ([PCODE] & '*')) And ((PG.pID)=PG2.PID)) 
ORDER BY PG2.pID, PHAR_REPORT.PR; 
+0

你可以包含你正在使用的SQL查詢來獲得上面的數字嗎?表格模式也會略有幫助。 – ktharsis 2010-07-13 16:16:39

+0

@ktharsis有幫助嗎? – Edmond 2010-07-13 18:53:46

回答

0

您應該使用多個查詢來完成。在第一個查詢中,選擇第一個月的數據。第二,到所需的月份進行比較。創建第一個鏈接兩個的第三個查詢(關心正確的關係)。在這些查詢中進行分組/計算。

在第三個查詢中,創建兩個計算單位和轉/單位增加/減少的字段。現在,您可以在查詢列中的每個參數字段上添加一個標準。

這裏的挑戰是肯定的,你會在幾個月內使用主鍵。例如:如果第一個查詢中的A行不在第二個(例如,第二個月沒有事件),則不會顯示。在這種情況下,解決方案是創建鏈接表或查詢的查詢,該查詢具有有組的寄存器,強制它顯示所有期望的記錄,儘管它們有或沒有出現。