Tratar dados da consulta antes que apareçam no E3Browser

Olá,

Na minha aplicação eu salvo no banco alguns totalizadores de minuto em minuto.

Ao fazer a consulta no e3browser, ele retorna todos esses valores gravados, fiz filtro por data e isso funciona corretamente.

Porém a intenção não é mostrar todos os valores e sim mostrar a diferença entre eles de minuto a minuto, pois pode ocorrer do totalizador não mudar de valor, e então saberia que nesse período foi produzido 0.

Eu fiz um script que ja faz isso e mostra num msgbox - só para este - Mas quero que isso sera mostrado no E3Browser.

Segue o Script:

Sub CommandButton1_Click()
Screen.Item(“E3Browser1”).Item(“Consulta1”).GetAsyncADORecordset()
End Sub

Sub Consulta1_OnAsyncQueryFinish(Recordset, Error)

Dim Linha, V1, V2

Set rs = Recordset
MsgBox rs.RecordCount
If rs.RecordCount <> 0 and not(Error) Then
rs.MoveFirst
For Linha = 1 to rs.RecordCount -1
V1 = rs.Fields(“Exemplo”).Value
rs.MoveNext
V2 = rs.Fields(“Exemplo”).Value
If (V2-V1) <> 0 Then
MsgBox V2-V1
End If

Next
Else
MsgBox “Erro”
End If

MsgBox "Valor da linha é: " & Linha

End Sub

Habilite a edição direta do SQL e teste a seguinte query.

select   E3TimeStamp
        ,Exemplo
        ,Exemplo - (
          select top 1 Exemplo
          from NomeDaTabela b
          where a.E3TimeStamp > b.E3TimeStamp
          order by b.E3TimeStamp desc) as Diff
from NomeDaTabela a
2 Likes

Funcionou, obrigado!