Gustavo Boa Tarde
Eu ja tinha este script em um botão na tela
ELSEIF Tela_Hist_Geral.Fonte_Historicos.HistHorimetroHDPD = true then
Set Report = Application.LoadReport("RelHorimetro")
Set Consulta = Report.Item("Consulta1")
Table = Tela_Hist_Geral.Fonte_Horimetros.Item("Hist_HD").TableName
Consulta.DataSource = "BD"
Consulta.SQL = "SELECT E3TimeStamp,Estacao,NomeEquip,HorasD,ParadasD FROM " &Table& _
" WHERE E3TimeStamp >= #<%DataInicial%># AND E3TimeStamp <= #<%DataFinal%>#" & _
" ORDER BY E3TimeStamp ASC"
Consulta.SetVariableValue "DataInicial", Tela_Hist_Geral.Item("dp_inicial").Value
Consulta.SetVariableValue "DataFinal", Tela_Hist_Geral.Item("dp_final").Value
Report.Item("Consulta1").Execute()
Report.Print()
o que eu fiz foi fazer o seguinte:
coloquei este código no Before print do ReportFooter
Sub OnBeforePrint
dim Campo, CampoFormat
Campo = Report.Sections(“ReportFooter”).Controls(“Field43”).text
CampoFormat = CStr((Campo246060)(6060)) &":"& Cstr(((Campo246060)\60) mod 60) &":"& Cstr((Campo246060) mod 60)
Report.Sections(“ReportFooter”).Controls(“Field43”).text = CampoFormat
End Sub
o field43 é o campo que recebe o valor que preciso converter para horas. eu deixei a opção Summary Type dele em dddSGrandTotal. ele soma todos os valores e na hora de imprimi converte.
Funcionou perfeitamente. assim.