Fazer uma Query para mais de um banco

Tenho um XCONTROL que faz consulta de PENAS em gráfico utilizando o seguinte script:

'Configura Consulta para as penas
set query = Item(“E3Chart1”).Item(“Consulta_Penas”)
query.DataSource = “BancoDados”
query.Table = “[”+P_Historico_Nome+"_Fields]"
query.Fields = “FieldID, FieldName, FieldSource”
query.OrderBy = “FieldID ASC”

Nesse script ele busca o “BancoDados” que é o único banco de dados que existe no domínio. Porém agora eu adicionei mais um banco de dados no domínio.

Uma tabela esta no BancoDados e a outra tabela no BancoDados2

Ao clicar na tela o script busca o nome do Histórico que esta configurado no BancoDados e em uma outra tela tem uma tabela que esta no BancoDados2 e o script quando monta a string com o caminho se perde pois não acha o BancoDados2

Como fazer para ele verificar nos dois bancos ao invés de eu ter que fazer um outro XCONTROL com o caminho do BancoDados2 ?

2 Likes

Bom dia Luiz,

Sugiro que você crie uma propriedade no XControl do tipo String, que seja preenchida na hora de configurar a instância na tela.
No script atribua esta propriedade ao DataSource da query:

query.DataSource = XControl1.Data_Source

1 Like

Dentro do ‘XCONTROL’ eu fiz uma propriedade chamada (NomedoBanco).

Na minha tela eu coloquei o ‘XCONTROL’ que se chama (‘xc_Grafico’) e na propriedade botei o nome do banco.
image

Então fiz o script dentro do ‘XCONTROL’ para chamar o nome da propriedade que esta na tela.

'Configura Consulta para as penas
set query = Item(“E3Chart1”).Item(“Consulta_Penas”)
query.DataSource = xc_Grafico.NomedoBanco
query.Table = “[”+P_Historico_Nome+"_Fields]"
query.Fields = “FieldID, FieldName, FieldSource”
query.OrderBy = “FieldID ASC”

Funcionou perfeitamente. Obrigado!

As vezes a solução é tão fácil que não enxergamos, por isso dizem que mais de uma cabeça pensa melhor que uma!

Muito obrigado e até a próxima.

3 Likes