Prezados,
Na sequencia de scripts abaixo, a escrita no tag “ProducaoAnterior” é realizada somente após a execução da consulta “C_ProducaoAnterior”?
Se essa consultar demorar em razão da quantidade de registros, existe a possibilidade desse tag não ser atualizado com o valor do Recordset?
Seria interessante utilizar o evento OnAsyncQueryFinish para garantir que o valor do tag seja atualizado somente após a execução da consulta?
Parent.Item(“C_ProducaoAnterior”).Execute(ImmediateExecute)
Set RS_ProducaoAnterior = Parent.Item(“C_ProducaoAnterior”).GetADORecordset()
Parent.Item(“ProducaoAnterior”).Value = RS_ProducaoAnterior.fields.Item(0).Value
Parent.Item(“ProducaoHora”).Value = Parent.Item(“QuantidadeProduzida”).Value - Parent.Item(“ProducaoAnterior”).Value
Application.GetObject(“Historicos.Hist_OEE1”).WriteRecord()
Parent.Item(“ProducaoHora”).Value = 0
Segue o script SQL da consulta:
select Producao, ProducaoHora
from TB_OEE
where E3TimeStamp = (Select Max(E3TimeStamp) from TB_OEE)