нужна помощь в сумме времени в rdlc - PullRequest
1 голос
/ 25 ноября 2011

Я работаю над системой управления посещаемостью.В моем проекте я хочу отобразить общее количество рабочих часов сотрудника в ежедневном отчете.

В своей таблице базы данных я уже рассчитал рабочие часы для каждого сотрудника.Теперь я хочу отобразить общее количество рабочих часов для каждой записи в нижней части отчета.

например,

EmployeeId EmployeeName  WorkedHours
1             ABC        04:00:25
2             XYZ        07:23:01
3             PQR        11:02:15

ТАК я хочу отобразить общее количество всех 3 сотрудников в концеотчет в RDLC.

как Итого: 22: 25: 42

Пожалуйста, дайте мне знать, как мне этого добиться?

Ответы [ 4 ]

1 голос
/ 25 ноября 2011

Вам просто нужно добавить =Sum(Fields!WorkedHours.Value) в строке нижнего колонтитула для столбца «WorkedHours».

см. Ссылку в MSDN http://msdn.microsoft.com/en-us/library/ms252113(v=vs.80).aspx

0 голосов
/ 11 августа 2015
        Facing the same issue here is your final answer.

    Step1: Go to your textbox expression and past below code
 =Code.MinutesToHoursMinutes(SUM(Hour(Fields!TTShortTime.Value)*60)+SUM(Minute(Fields!TTShortTime.Value)))    

        Step2: Goto your rdlc report properties => Tab Code, Here past below function       
        Function MinutesToHoursMinutes(ByVal vMins As Integer) As String
        Dim Mins As Integer
        Dim Hours As Integer
        vMins = IIF(vMins <= 0, 0, vMins)
        Hours = Floor(vMins / 60)
        Mins = vMins - (Hours * 60)
        MinutesToHoursMinutes = IIF(Hours < 9, "0" & CStr(Hours), CStr(Hours)) & ":" & IIF(Mins < 9, "0" & 
        CStr(Mins), CStr(Mins))
        Return MinutesToHoursMinutes
        End Function


    Here in Step1 we get hours and convert it into minutes then get minutes and sum with hour calculated minutes.
    then passes it to function which returns string format like hh:mm
0 голосов
/ 23 марта 2014

Попробуйте и посмотрите, работает ли он

=(SUM(Cint(Split(Fields!WORKEDHOUR.value,":").GetValue(0))) + (SUM(Cint(Split(Fields!WORKEDHOUR.Value,":").GetValue(1))) + Sum(Cint(split(Fields!WORKEDHOUR.Value,":").GetValue(2)))\60)\60 ).ToString + ":" + ((SUM(Cint(Split(Fields!WORKEDHOUR.Value,":").GetValue(1))) + Sum(Cint(split(Fields!WORKEDHOUR.Value,":").GetValue(2)))\60) Mod 60).ToString + ":" + (Sum(Cint(split(Fields!WORKEDHOUR.Value,":").GetValue(2))) Mod 60).ToString
0 голосов
/ 21 июня 2013

Вы можете использовать класс TimeStamp вместе с функцией Sum, следуйте примеру:

= TimeSpan.FromMinutes (Sum (Fields! Dirigindo.Value))

...