Problemas ao Carregar consultas com XControl

Bom dia

Estou aprendendo o Elipse E3 e no momento estou tentando criar um XControl que realiza pesquisa por meio de um Chart com pena histórica e tempo real.

Esse XControl de pesquisa irá abrir ao clicar em um outro XControl na tela inicial como uma tela indexada.

Estou tendo dificuldades em implementar a consulta no XControl de consulta o mesmo acaba não retornando nenhum valor.

Tentei utilizar o método do KB-35519: Criando uma consulta dinâmica para escolher uma tabela em tempo de execução. - Elipse Knowledgebase no entanto sem sucesso

image

Este código sql retorna uma a pesquisa ao ser realizada na aba Visualizar da Consulta foi tentado trocar para FROM ‘<%nometabela%>’ no entanto começa a dar erro.

SELECT [E3TimeStamp]
,[Pcc], [P]

FROM [TESTE_ELIPSE_E3].[dbo].[inversor_1]

WHERE [E3TimeStamp] >= #<%datainicial%># AND [E3TimeStamp] <= #<%datafinal%>#

order by E3TimeStamp

A id[eia desta tela é mostrar os dados da pesquisa quando for efetuado uma pesquisa e ao clicar no botão em tempo real retornar aos dados atuais

Esta tela fora de um XControl funciona normalmente.

Alguma dica de como consigo solucionar este problema?

Desde já agradeço.

Bom dia @pji,

Vejo várias dúvidas na sua postagem, vamos tentar elucidar uma de cada vez.

Primeiramente para a consulta dinâmica conforme o KB-35519.

Pela sua estrutura, eu entendi que a tabela é criada com o nome do inversor, logo você precisa criar um parâmetro para passar o nome do inversor para a sua consulta.

Mantendo o script que você já criou, você está usando o parâmetro de nome “TESTE_ELIPSE_E3”, logo, no sql da sua consulta, deveria ficar assim:

SELECT [E3TimeStamp], [Pcc], [P]
FROM <%TESTE_ELIPSE_E3%>
WHERE [E3TimeStamp] >= #<%datainicial%># AND [E3TimeStamp] <= #<%datafinal%>#
ORDER BY E3TimeStamp

Bom dia @nivaldonicolau

O banco é o Teste_Elipse_E3, e dentro possui duas tabelas a inversor_1 e a inversor_2, pelo que entendi seria necessário entao passar o nome das tabelas para que a consulta seja realizada correto?

Esse parâmetro é passado ao se clicar no Xcontrol na tela inicial por exemplo?

A ideia dessa tela é quando clicar no da esquerda da tela inicial quando realizar a consulta ele retornar os valores que estao na tabela desse inversor no banco

tela inicial
image

Desde já agradeço

Bom dia @pji.

Sim, é o usual. Em caso de dúvidas, veja o KB-28399: Criando telas indexadas..

Bom dia

Esses parametros estao sendo passados pelo Xcontrol do inversor

as associações estao assim
image
image

ele retorna este erro
image

Bom dia @pji,

No seu caso, o evento Constructor está sendo executado antes do Evento OnPreShow da tela indexada, por isso está ocorrendo o erro.

Minha sugestão é que você coloque o Script que está no Constructor no evento OnPropertyChanged da Propriedade Dados_Inversores, desta forma sempre que for alterada a fonte dos dados a consulta receberá o novo parâmetro corretamente.

Bom dia @nivaldonicolau

Muito obrigado pela ajuda agora a consulta e o tempo real na tela indexada estão funcionando perfeitamente

1 Like