我的任務是創建一個 Access 資料庫來處理拖欠稅款資料。如果我在 Excel 中作業,我確切地知道如何使用我的 Table1(如下)來創建我的 FinalTable(也在下面),但是 Access 沒有相同的countif和sumif函式,據我所知,沒有允許您在查詢中參考其他列,現在我被卡住了。這是我的資料集的簡化版本。
表格1
| 財年 | 包裹 | 拖欠_1 | 拖欠_2 | 拖欠總和 |
|---|---|---|---|---|
| 2020 | 1-19A | $500.00 | $500.00 | $1000.00 |
| 2020 | 1-20-2 | 0.00 美元 | $500.00 | $500.00 |
| 2021 | 1-20-2 | $500.00 | $500.00 | $1000.00 |
| 2022 | 1-20-2 | $500.00 | $500.00 | $1000.00 |
| 2022 | 1-20-5 | 0.00 美元 | 0.00 美元 | 0.00 美元 |
我需要撰寫某種查詢以獲得以下結果。
決賽桌
| 年 | NumDelinqParcels | 總拖欠1 | 總拖欠2 | 未付總額 |
|---|---|---|---|---|
| 2020 | 2 | $500.00 | $1000.00 | $1500.00 |
| 2021 | 1 | $500.00 | $500.00 | $1000.00 |
| 2022 | 1 | $500.00 | $500.00 | $1000.00 |
為了提供更多詳細資訊,NumDelinqParcels 應顯示給定年份的 Delinquent_Sum > $0.00 的宗地數量。TotalDelinquent1 將累加給定年份的 Delinquent_1 列。TotalDelinquent2 將累加給定年份的 Delinquent_2 列。TotalUnpaid 將匯總 TotalDelinquent1 和 TotalDelinquent2。
如果我在 Excel 中作業,我的 NumDelinqParcels 可以用 countif 陳述句填充,我的 TotalDelinquent1 和 TotalDelinquent2 可以用 sumif 陳述句填充。我無法讓這些在 Access 中作業。
對于 TotalDelinquent1,我可以做到:
子查詢1
SELECT Sum(Iif(FY = "2020" and Delinquent_Sum <> 0, Delinquent_1, 0)) from Table1
然后,我可以將其轉化為SELECT FY 作為“Year”,Subquery1 作為“TotalDelinquent1”等,用于我的最終表。
Subquery1 的問題在于它是靜態的。我無法僅查看第一列中的年份并將其填入“FY =”部分。也許我走錯了方向。
非常感謝任何建議!
uj5u.com熱心網友回復:
對我來說,這看起來像是一個簡單的聚合(GROUP BY)查詢。
Delinquent_Sum 不應該是表中的欄位,應該在查詢中計算。如果要按 FY 動態過濾,請使用 WHERE 子句。下面演示了帶有 FY 的彈出輸入提示的查詢。我不使用彈出提示。我更喜歡使用 VBA 來構建過濾條件,并在打開時應用于表單或報表。
SELECT FY, Count(*) AS NumDelinqParcels, Sum(Delinquent_1) AS TotalDelinq1,
Sum(Delinquent_2) AS TotalDelinq2, Sum(Delinquent_1 Deliinquent_2) AS TotalUnpaid
FROM Table1
WHERE FY=[enter year]
GROUP BY FY;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/471269.html
