2009-10-15 4 views
0

각 테이블에는 고유 한 ItemID이있는 테이블이 있습니다. 한 달에 한 번 이러한 항목에 대해 수행되는 테스트에 대한 정보가있는 다른 테이블이 있습니다 (일부는 월마다 여러 개의 테스트가 있고 일부에는 몇 개월이 없을 수도 있습니다). 각 테스트 항목의 전체 날짜는 mm/dd/yyyy입니다. 월별로 모든 데이터에 대해 필드 중 하나의 평균을 표시하고 싶습니다. 내가 할 수있는 쿼리를 할 수 있다는 사실을 알고 ...여러 ID의 날짜 별 평균 테이블

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

을 : 그래서 나는 평균 해요하는 항목 무게 가정,이 같은 테이블을 끝내고 싶어 평균 및 특정 기준별로 평균을 그룹화 할 수 있지만 mm/dd/yyyy을 월 단위로 그룹화하는 쉬운 방법이 있습니까?

답변

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에 대한 모든 매개 변수 (있는 경우)를 확인하고 오류 관리를 추가하고 자신의 필요에 적응하십시오. '0000'문자열을 반환하려면 x_myLong을 변형으로 전달할 수 있습니다. 이 함수는 숫자를 고정 길이 문자열로 변환 할 때 여러 용도로 사용됩니다.

+0

이것은 기본적으로 내가 한 일입니다. 나는 그것을 모두 SQL에서했다. 나는 Year : Year (Date)와 Month : Month (Date)로 그룹화 한 다음 표시 목적으로 Year_Date : CStr (Year) + "/"+ CStr (Month) 식을 만들었습니다. 도와 주셔서 감사합니다 – Matt