我正在制定一個記錄員工日常績效指標的項目。如何在Access 2003 JET SQL的列子查詢中返回多個列?
的records
表保存每名員工生產力的日子一排;每一列都包含該類別中已完成項目的計數,加上總轉移時間和日期作爲短日期。
metrics
表包含與records
表中的生產力欄匹配的生效日期(短日期)和列,它們跟蹤預期的小時生產率。
的employees
表格只包含僱員的姓名和電話分機。
員工報告可以設置爲可變日期範圍以顯示一段時間的績效,並且GroupLevel(1).GroupOn
也可以通過VBA設置(按周,月,季度等創建部分)。
這裏的目標是創建一個查詢,該查詢返回記錄表的所有行(稍後將根據打開報表時傳遞的whereCondition
進行過濾)以及metrics
表中最晚的日期行大於或等於records.date
。到目前爲止,我只能夠得到metrics
行的ID(或其他任何單一領域):
SELECT records.*, employees.first, employees.last, employees.ext,
(
SELECT TOP 1 metrics.id
FROM metrics
WHERE metrics.date<=records.date
ORDER BY metrics.date DESC
) AS MetricsID
FROM employees
INNER JOIN records ON employees.id = records.employee
ORDER BY employees.last;
我所尋找的是寫這個查詢,所以我必須在所有列的方式每行 - 當我在GroupFooter2_Format
期間運行我的計算函數時,這意味着我不必針對日期範圍中的每一行查詢metrics
。
獎金的感激之情,如果你能告訴我如何編寫一個查詢,將在metrics
對應一個自動將列在records
,這樣我就可以直接填充字段。
這看起來不錯,今天下午我有機會試試看。數據不會與類別類型一起存儲,每列都是它自己的類別。不是最好的做法,但它最初是匆匆修建的......去保存修復爲「2.0」 – 4AM
這裏唯一的問題是Round()函數中的參數抱怨說「指定的字段'記錄。生產力'可以引用SQL語句的FROM子句中列出的多個表',但只要我具有相關度量標準,我就可以在VBA中進行計算,並且如果刪除計算字段,查詢就可以工作。 – 4AM
嗯,似乎儘管查詢在數據表視圖中起作用,但任何試圖在報表控件中引用命名字段的嘗試都會導致與上面相同的錯誤 – 4AM