Descrição:
Como trocar a consulta do E3Browser por outra consulta existente no aplicativo?
Solução:
Para isto, deve-se alterar a propriedade SourceQuery do E3Browser, e depois executar o método Requery(). Caso a estrutura das consultas seja diferente, é preciso executar também o método RetrieveE3QueryFields().
Por exemplo:
Set browser = Screen.Item("E3Browser1")
browser.SourceQuery = "Query2"
browser.RetrieveE3QueryFields()
browser.Requery()
Caso haja filtros, deve-se utilizar o método SetVariableValue() após a consulta ter sido definida. Por exemplo, o script a seguir pode ser colocado no evento Change de um ComboBox que lista todas as consultas existentes:
Dim dataini, datafim, query
dataini = Screen.Item("Text1").Value
datafim = Screen.Item("Text2").Value
Set browser = Screen.Item("E3Browser1")
browser.SourceQuery = Value
Set consulta = browser.Item(Value)
consulta.SetVariableValue "DataIni", dataini
consulta.SetVariableValue "DataFim", datafim
browser.RetrieveE3QueryFields()
browser.Requery()
Para que o ComboBox liste todas as consultas existentes, basta percorrer os itens do E3Browser adicionando seus nomes. Por exemplo:
Clear()
For each obj in Screen.Item("E3Browser1")
AddItem obj.Name
Next
Como trocar a consulta (Banco de dados) no E3 browser?