Как поместить 3 непрерывных строки в 3 стопку в одном отчете о доступе - PullRequest
0 голосов
/ 23 марта 2019

У меня есть данные о зарплате нескольких сотрудников в табличном формате за разные месяцы, как показано на 3-м и 2-м изображении.(В настоящее время извлечено для одного сотрудника в следующем примере изображений).Для каждого сотрудника имеется 35 полей / столбцов окладов, а начисления окладов различаются для разных профилей работы.3-е и 2-е изображения представляют таблицу данных зарплаты для всех сотрудников профиля работы.Поскольку в таблице много столбцов, я разместил только две части одной таблицы на третьем и втором изображениях.Есть также другие поля, которые имеют 0 значений или больше 0 согласно профилю работы сотрудника.Я создал запрос для извлечения квартальных данных для одного сотрудника из таблицы согласно третьему и второму изображениям.

Первое изображение - это результат, который я хочу разместить в формате с накоплением.В настоящее время мой отчет показывает только данные за один месяц в этом отчете.Существует код события загрузки отчета, в котором отображаются только заголовки со значениями больше 0:

Dim C As Control

For Each C In Me.Report

If TypeOf C Is TextBox Then

        If IsNull(C) Or C = "" Or C = 0 Or C = "0" Then
            C.Visible = False
            C.Height = 0
        Else
            C.Visible = True
        End If
End If

Я хочу отобразить результат в соответствии с изображениями отчета следующим образом.Можно ли разместить 3 сложенных столбца?спасибо за помощь и любые предложения.

Примеры изображений:

rptQuerterlyITStatement

qryPayRollData

qryPayRollData1

1 Ответ

0 голосов
/ 23 марта 2019

Вы можете реализовать следующий SQL-запрос к зарплате на одного сотрудника за квартал, учитывая, что ваша таблица содержит зарплату только за год

 SELECT
        EmployeeName
        ,SUM(IIF(Month([DateColumn]) BETWEEN 1 AND 3, Salary, 0)) AS Salary_Q1
        ,SUM(IIF(Month([DateColumn]) BETWEEN 4 AND 6, Salary, 0)) AS Salary_Q2
        ,SUM(IIF(Month([DateColumn]) BETWEEN 7 AND 9, Salary, 0)) AS Salary_Q3
        ,SUM(IIF(Month([DateColumn]) BETWEEN 10 AND 12, Salary, 0)) AS Salary_Q4
FROM TblSalary
GROUP BY EmployeeName              
...