Descrição:
Em uma aplicação, uma Consulta possui um filtro com diversas variáveis, possibilitando a configuração do filtro na tela:
SELECT E3TimeStamp, Campo1, Campo2
FROM Tabela1
WHERE (E3TimeStamp >= #<%IniDate%># ) AND ( E3TimeStamp <= #<%FinalDate%># )
Como configurar para que o operador possa habilitar ou desabilitar esse filtro?
Solução:
Para isso, devem-se criar variáveis Booleanas e escrever um script na aba SQL da Consulta utilizando a condição OR. Exemplo:
SELECT E3TimeStamp, Campo1, Campo2
FROM Tabela1
WHERE ( <%bIni%> = 1 OR (E3TimeStamp >= #<%IniDate%># )) AND ( <%bFinal%> = 1 OR (E3TimeStamp <= #<%FinalDate%># ))
Se a variável for igual a 1, o filtro é desconsiderado. Se for igual a 0, o filtro é validado.
Os valores das variáveis Booleanas podem ser configurados de acordo com objetos CheckBox da tela:
cs.SetVariableValue "bIni", Abs(NOT Screen.Item("Checkbox1").Value) cs.SetVariableValue "bFinal", Abs(NOT Screen.Item("Checkbox2").Value)
Assim, ao marcar o CheckBox, a variável recebe 0 e o filtro é validado. Ao desmarcá-la, a variável recebe 1 e o filtro é desabilitado.
Para mais detalhes, veja aplicação exemplo desenvolvida no E3 v. 3.2 b. 260 em anexo.
So funciona no exemplo não consigo replicar o exemplo com SQLEXPRESS