Как суммировать значения столбцов запроса select - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь отобразить «сумму всех значений» в столбце NetPrice в текстовом поле, которое находится в нижнем колонтитуле формы, если пользователь выбирает элементы в двух полях со списком. Это должно быть верно только для отображаемых записей. Я не знаю, как go об этом и надеюсь, что кто-то делал это раньше. Я был бы очень признателен за помощь.

Private Sub comboPeriod_AfterUpdate()
Dim strSQL As String

If Me.comboPeriod.Value = "Q1" And Len(Me.comboPostCode.Value & vbNullString) <> 0  Then
   strSQL = "SELECT * FROM qrySpending WHERE (Month(orderDate) = 4 OR Month(orderDate) = 5 OR 
   Month(orderDate) = 6) AND (PostCode = '" & Me.comboPostCode.Value & "') ORDER BY Description ASC"

   Me.frmDatasheet.Form.RecordSource = strSQL
   Me.frmMain.Form.Requery

   Me.txtNetPrice.Value = DSum(Nz("NetPrice", 0), "strSQL")
Exit Sub
End If

End Sub

1 Ответ

1 голос
/ 23 апреля 2020

Агрегатные функции домена не могут ссылаться на оператор SQL, только объекты таблиц и запросов. Объедините cal c в запросе на группировку, который может быть оператором SQL в вашем коде. Тем не менее, заявление SQL на самом деле не нужно для этого. Просто используйте критерии фильтра в DSum () в текстовом поле или в VBA.

DSum("NetPrice", "qrySpending", "Month(orderDate) = 4 OR Month(orderDate) = 5 OR Month(orderDate) = 6) AND (PostCode = '" & Me.comboPostCode & "'")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...