Filtro de consulta tipo string não funcionando [Resolvido]

Olá, estou tentando imprimir um relatório utilizando uma consulta do tipo String, a origem da string vem do próprio banco de dados, que realiza uma outra consulta e preenche uma ComboBox.

Configurei a consulta do relatório conforme os prints abaixo:

image

No botão que realiza a impressão do relatório inseri o script abaixo:

Sub hpCommandButton8_EventClick()
Lote = Screen.Item(“ComboBox2”).Value
Set Report = Application.LoadReport(“Report1”)
Report.Item(“ConsLote”).SetVariableValue"lote", Lote
Report.Item(“ConsLote”).GetAsyncADORecordset()
End Sub

Também já tentei sem o comando Report.Item(“ConsLote”).GetAsyncADORecordset().

Quando eu insiro manualmente a variável ele realiza a consulta normalmente:
image

Já conferi se o valor que estou lendo é do tipo String, e também já realizei o teste de gravar em uma tag o valor lido da ComboBox utilizando a expressão acima e está correto.

Alguém sabe o que pode ser?

Obrigado.

Bom dia Renan,

De que forma você verificou se o valor retornado pelo ComboBox é String?
Sugiro fazer o seguinte:
msgbox typename(Screen.Item("ComboBox2").Value)

Faça um teste também inserindo a string direta no SetVariableValue:
Report.Item(“ConsLote”).SetVariableValue "lote", "lote 1500"

Se preferir, envie a aplicação para o meu e-mail informando o local da consulta e do script.

Boa tarde Délio, fiz o testes consta como String, porém não deu certo.

Te enviei um e-mail com a aplicação.

Obrigado.

Renan,

Você está setando a variável em um script e imprimindo em outro:

Remova o script Imprimir Relatório e insira o comando PrintPreview no mesmo script:

image
Desta forma irá funcionar:

image

Outro detalhe, o método GetAsyncADORecordset() não possui utilidade no script, e pode ser removido.
Para maiores detalhes sobre este método, consulte o seguinte artigo.

1 Like

Muito Obrigado Délio