-4

我有多个员工在不同月份的表格格式的工资数据,如第三张和第二张图片所示。(目前在以下图像示例中为单个员工提取)。每个员工有 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个堆叠柱?感谢您的帮助和任何建议。

示例图像:

rptQuerterlyIT 声明

qryPayRollData

qryPayRollData1

4

1 回答 1

0

考虑到您的表仅包含一年的薪水,您可以对每个员工每季度的薪水执行以下 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              
于 2019-03-23T16:07:42.467 回答