2011-08-17 45 views
0

我已经创建了基本的Combobox筛选器排序,通过我公司的公司区域进行排序(主要是Acronyns),我们将这些筛选器称为AOR's或Area of​​ Reference。定义你的AOR之后,它会限制下一个组合框在特定的AOR中只显示国家,而不是过滤器排序。但是,我的问题是 - 在选择AOR后显示国家/地区时,它显示所有国家/地区的所有记录,而不是仅显示1个国家/地区列表。Group By for Combobox Filter Sort

基本上,它不是对我的国家进行分组 - 当我选择通常只给出独特结果的“总计”时,这是行不通的。

我的问题,我如何重新编写这段代码来包含一个Group By?

我的代码:

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

上一个答案是正确的,除了有条款你需要使用聚合...所以只是用在哪里。

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

这应该可以解决你。当你使用HAVING时,它会查看你选择的内容,因为你没有选择AORID,它不知道该怎么做。

+0

我输入这个作为我的SQL语句,没有任何改变。也许我在我的解释中错过了一些东西,或者我不正确地解释了我的问题? – Colin

+0

你可能忘记用“AORID =”和Me.cboRegion.Value替换WHERE AORID = 1吗? – misterManager

+0

也有可能数据没有被记录完全相同,每次...尝试说选择修剪(国家)和GROUP BY修剪(国家) – misterManager