我创建了一个基本的Combobox过滤器排序,可以通过我公司的公司区域进行排序(主要是Acronyns),我们称之为AOR或参考区域。定义AOR后,它会限制下一个组合框仅显示该特定AOR中的国家/地区,而不是过滤器排序。但是,我的问题是 - 当它在选择AOR后显示国家/地区 - 它会显示该特定国家/地区的所有记录,而不是仅显示1个国家/地区列表。
基本上,它不是对我的国家进行分组 - 当我选择通常只给我独特结果的“总计”时,这不起作用。
我的问题,如何重新编写此代码以包含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 By,但它没有GROUP)
SELECT FullEmail.AORID, FullEmail.ID, FullEmail.Country
FROM FullEmail
GROUP BY FullEmail.AORID, FullEmail.ID, FullEmail.Country
HAVING (((FullEmail.AORID)=1));
提前感谢您阅读!
答案 0 :(得分:0)
之前的答案是正确的,除了有一个having子句你需要使用聚合...所以只需使用where。
SELECT Country
FROM FullEmail
WHERE AORID=1
GROUP BY Country;
这应该可以解决你的问题。当你使用HAVING时它会查看你选择的内容,因为你没有选择AORID,它不知道该怎么做。