2009-10-15 48 views
0

我有一張桌子上裝滿了各自具有唯一ItemID的項目。還有另一張表格,每個月對這些項目進行一次測試(有些可能每個月會有多個測試,有些可能沒有幾個月),每個測試項目的完整日期爲mm/dd/yyyy。我想按月顯示所有數據的其中一個字段的平均值。因此,假如什麼,我平均是物品的重量,我想結束了像這樣的表:按日期劃分的多個ID的平均值表

Date AvgOfWeight 
1/09 24.55 
2/09 28.64 
3/09 22.39 

等等...

我知道我可以做一個查詢做平均值和我可以按照某些標準對平均值進行分組,但是有沒有簡單的方法可以按月分組日期?

回答

0

我愛這裏可以使用這種方式這strzero功能:

m_monthYear = strZero(year(date()),4) & "-" & strZero(month(date()),2) 

結果看起來像2009-09可以責令上升,因爲他們與當年開始。你只需要創建這個strZero函數如下:

Public function strZero(x_myLong as long, x_length as integer) as string 
Dim m_strZero as string 

m_strZero = trim(str(x_myLong)) 
do while len(m_strZero) <= x_length 
    m_strZero = "0" & m_strZero 
loop 
strZero = m_strZero 
end function 

這是寫在飛。請檢查str的所有參數(如果有),添加錯誤管理並適應您自己的需求。例如,您可能希望將x_myLong作爲變體傳遞,以返回「0000」字符串。將數字轉換爲固定長度字符串時,此函數具有多種其他用途。

+0

這基本上是我最終做的。儘管我在SQL中完成了所有工作。我按年份:年份(日期),然後按月份:月份(日期)進行分組,然後爲了顯示目的我做了一個表達式Year_Date:CStr(Year)+「/」+ CStr(Month)。謝謝您的幫助 – Matt 2009-10-15 20:29:20