2011-08-17 5 views
0

나는 기본 Combobox 필터를 만들었습니다. 우리 회사의 회사 지역을 통해 정렬합니다 (주로 Acronyns). 우리는 이것을 AOR 또는 참조 영역이라고합니다. AOR을 정의한 후에는 다음 콤보 상자가 해당 AOR의 국가 만 표시하도록 제한하고 필터 정렬을 검토합니다. 그러나 문제는 - AOR을 선택한 후 국가를 표시 할 때 - 단지 한 국가 목록 대신 특정 국가에 모든 기록을 표시합니다.그룹별로 Combobox 필터에 의해 정렬

기본적으로 내 국가를 그룹화하지 않으며, 일반적으로 유일한 결과 만 제공하는 "합계"를 선택하면이 작업이 이루어지지 않습니다.

내 질문, 어떻게 그룹화 기준을 포함하도록이 코드를 다시 작성할 수 있습니까?

내 코드 :

Private Sub cboRegion_AfterUpdate() 
    ' Region -> Country 
    Dim sManagerSource As String 
    sManagerSource = "SELECT [FullEmail].[AORID], [FullEmail].[ID], [FullEmail].[Country] " & _ 
        "FROM FullEmail " & _ 
        "WHERE [AORID] = " & Me.cboRegion.Value 
    Me.cboCountry.RowSource = sManagerSource 
    Me.cboCountry.Requery 
End Sub 

내 SQL 문을 통해 읽기 위해 사전에 (그것의 그룹으로 있어요하지만 GROUP하지 않습니다) 같은

SELECT FullEmail.AORID, FullEmail.ID, FullEmail.Country 
FROM FullEmail 
GROUP BY FullEmail.AORID, FullEmail.ID, FullEmail.Country 
HAVING (((FullEmail.AORID)=1)); 

감사 보인다!

답변

0

이전 절은 집계를 사용해야하는 having 절을 제외하고는 정확합니다. 여기서는 where를 사용하십시오.

SELECT Country 
FROM FullEmail 
WHERE AORID=1 
GROUP BY Country; 

그러면 문제가 해결됩니다. HAVING을 사용하면 선택한 것을 보았습니다. AORID를 선택하지 않았기 때문에, 무엇을해야할지 몰랐습니다.

+0

이것을 SQL 문으로 입력했는데 아무 것도 변경되지 않았습니다. 아마도 내 설명에 뭔가 빠져 있거나 어쩌면 부적절하게 내 문제를 설명했을까요? – Colin

+0

어쩌면 AORID = 1을 "AORID ="& Me.cboRegion.Value로 바꾸는 것을 잊었습니까? – misterManager

+0

데이터가 매번 정확하게 똑같이 기록되지 않을 수도 있습니다. SELECT Trim (Country) 및 GROUP BY Trim (Country)을 입력하십시오. – misterManager

관련 문제