Descrição:
Como posso carregar o resultado de uma determinada consulta em tags internos?
Solução:
Deve-se utilizar o método GetADORecordset() da consulta.
No exemplo de script abaixo é executada a consulta que está na tela inicial e carregados os valores dos campos “TagDemo1” até “TagDemo2” nos tags internos “TagInterno1” até “TagInterno12”:
Screen.Item("Consulta1").Execute(ImediateExecute)
Set rs = Screen.Item("Consulta1").GetADORecordset()
If rs.recordcount > 0 Then
For aux = 1 to rs.fields.count
Application.GetObject("TagInterna.TagInterno" & aux).Value = rs.fields.Item("TagDemo" & aux).Value
Next
End if
A consulta que está na tela inicial é a seguinte:
SELECT TOP 1 Historico.TagDemo1,Historico.TagDemo2,Historico.TagDemo3,
Historico.TagDemo4,Historico.TagDemo5,Historico.TagDemo6,Historico.TagDemo7,
Historico.TagDemo8,Historico.TagDemo9,Historico.TagDemo10,Historico.TagDemo11,
Historico.TagDemo12
FROM Historico
ORDER BY E3TimeStamp DESC
Observação: A aplicação exemplo em anexo foi feita usando o E3 versão 3.1 Build 270.