powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отчет - подсчёт итогов
3 сообщений из 3, страница 1 из 1
Отчет - подсчёт итогов
    #39460870
Alex37
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Столкнулся с проблемой суммирования данных в отчёте.
Не правильно считается два результата (указанны красной рамкой):


Структура отчёта имеет такой вид (неправильно работающие поля в примечании отчета не видны - удалил):


База состоит из 4-х таблиц:


Данные для отчета формируются используя цепочку из 3-х запросов:
1
Код: sql
1.
2.
3.
4.
5.
6.
SELECT DISTINCTROW тМенеджеры.ID, тМенеджеры.Менеджеры, 
First(тДанные.ID) AS [First - тДанные_ID], 
Sum(тДанные.КоличествоКлиентов) AS SumКлиентов, 
Sum(тДанные.Сумма) AS SumСумма
FROM тМенеджеры INNER JOIN тДанные ON тМенеджеры.ID = тДанные.ID_tbl_1
GROUP BY тМенеджеры.ID, тМенеджеры.Менеджеры;


2
Код: sql
1.
2.
3.
SELECT тПрофиль.Коэффициент, тНабор.ID_tbl_2, тНабор.IDпрофиля, тНабор.Площадь, 
[Коэффициент]*[Площадь] AS Баллы
FROM тПрофиль INNER JOIN тНабор ON тПрофиль.ID = тНабор.IDпрофиля;


3
Код: sql
1.
2.
3.
4.
5.
6.
SELECT [1].Менеджеры, [1].SumКлиентов, [1].SumСумма, [2].IDпрофиля, 
Sum([2].Площадь) AS SumПлощадь, 
Sum([2].Баллы) AS SumБаллы
FROM 1 INNER JOIN 2 ON [1].[First - тДанные_ID] = [2].ID_tbl_2
GROUP BY [1].Менеджеры, [1].SumКлиентов, [1].SumСумма, [2].IDпрофиля
ORDER BY [1].SumСумма DESC , Sum([2].Площадь) DESC;


Данные по запросу "3" имеют такой вид:


В примечании отчёта использовал для суммирования следующие поля
для ОбщейСуммы: =Sum([SumСумма])
для СуммыКлиентов: =Sum([SumКлиентов]) - вот они и считают неверно.

Пробовал группировать данные по разному... Уже сломал всю голову. Вчера день убил на создание запросов. Сегодня - на создание отчёта.
Помогите разобраться, пожалуйста! Хотелось бы решить эту задачу без использования подчиненных отчетов.
Базу прилагаю в архиве.
...
Рейтинг: 0 / 0
Отчет - подсчёт итогов
    #39460899
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex37,
разместите в области примечания два свободных поля и:
Код: vbnet
1.
2.
3.
4.
Private Sub ОбластьДанных_Format(Cancel As Integer, FormatCount As Integer)
Me.всегоСумма = DSum("сумма", "тДанные")
Me.всегоКлиентов = DSum("количествоКлиентов", "тДанные")
End Sub

(не вникал в БД, но думаю что 3 запроса для 1 отчета многовато-хотя если все работает как Вы задумали-сойдет)
...
Рейтинг: 0 / 0
Отчет - подсчёт итогов
    #39460911
Alex37
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdkuAlex37,
разместите в области примечания два свободных поля и:
Код: vbnet
1.
2.
3.
4.
Private Sub ОбластьДанных_Format(Cancel As Integer, FormatCount As Integer)
Me.всегоСумма = DSum("сумма", "тДанные")
Me.всегоКлиентов = DSum("количествоКлиентов", "тДанные")
End Sub

(не вникал в БД, но думаю что 3 запроса для 1 отчета многовато-хотя если все работает как Вы задумали-сойдет)
Ура! Заработало!
Я даже не задумывался применить VBA в отчёте (т.к. до этого даже не знал об этом). Теперь всё работает.
Огромное спасибо за помощь!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Отчет - подсчёт итогов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]