При запуске кода SQL для выбора имени и суммы (политики) все работает нормально, как и ожидалось (а).
Однако при добавлении кода, имени и суммы (политики),политики не появляются!(б).
Что я делаю не так и как мне заставить это работать?
a.Работает:
Sub Macro1()
Dim cn As Object
Dim rs As Object
Dim sql As String
Dim strConnection As String
Set cn = CreateObject("ADODB.Connection")
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Users\gorny\OneDrive\Documents\Brown Brothers Harriman\Macros\VBA Data.accdb;"
cn.Open strConnection
sql = "SELECT Name, Sum([Policy Count]) As Policies" & _
" FROM Profiles " & _
" GROUP BY Name " & _
" Having Count([# of Families - All Forms])>1 " & _
" Order By Name Asc"
Set rs = cn.Execute(sql)
Do Until rs.EOF
Debug.Print rs.Fields(0); " "; CStr(rs.Fields(1))
rs.MoveNext
Loop
End Sub
Результат, как и ожидалось:
Adam Miller Agency, LLC 11
Gary Gorny Agency, LLC 80
Irina Gornaya Agency 313
Ovsey Dybner Agency 157
Thomas Edison Agency 225
Wonderful Agency 23
(b) Добавление кода исключает сумму полисов!Почему и как это исправить?
Sub Macro1()
Dim cn As Object
Dim rs As Object
Dim sql As String
Dim strConnection As String
Set cn = CreateObject("ADODB.Connection")
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=C:\Users\gorny\OneDrive\Documents\Brown Brothers Harriman\Macros\VBA Data.accdb;"
cn.Open strConnection
sql = "SELECT Code, Name, Sum([Policy Count]) As Policies" & _
" FROM Profiles " & _
" GROUP BY Code, Name " & _
" Having Count([# of Families - All Forms])>1 " & _
" Order By Name Asc"
Set rs = cn.Execute(sql)
Do Until rs.EOF
Debug.Print rs.Fields(0); " "; CStr(rs.Fields(1))
rs.MoveNext
Loop
End Sub
Где моя сумма полисов?
5000076 Adam Miller Agency, LLC
5000077 Gary Gorny Agency, LLC
5000078 Irina Gornaya Agency
5000079 Ovsey Dybner Agency
5000080 Thomas Edison Agency
5000081 Wonderful Agency