... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Comando IN na consulta em modo design

Usuário Wolmar:

Bom dia.

Tenho uma variável no formulário que guarda as opções escolhidas pelo usuário, assim:

CodLoja = '01';'03';'06';'09';'10'

Gostaria de na consulta usar isso como filtro, usando cláusula IN.

in('01';'03';'06';'09';'10') assim funciona, mas preciso que as escolhas venham do formulário;
in(" & Form_Op01.CodLoja & ") em VBA também funciona, mas preciso em consulta modo design;
in(Form_Op01.CodLoja) na consulta modo design como seria?

Após o resultado dessa consulta, tenho mais 7, que usam o resultado dessa.

Tem como fazer sem usar na origem do relatório?

Suporte:

Wolmar,

poderia usar o IN() no argumento de filtragem da chamada do relatório. Assim, você deixa a consulta limpa. Exemplo:

DoCmd.OpenReport "NomeRealtório", acViewPreview, , "Cod in('1','3','6','9')"

Ou 

DoCmd.OpenReport "NomeRealtório", acViewPreview, , "Cod in(" & codLoja & ")"

Nota: observe que é usada a vírgula no lugar do ponto e vírgula.

Bom, se tem que de fato, alterar a consulta gráfica, sugiro este código:

Dim qry As DAO.QueryDef
Dim pos%
Dim strSql As String
Set qry = CurrentDb.QueryDefs("NomeDaConsulta")
pos = InStr(qry.SQL, "WHERE")
strSql = Left(qry.SQL, pos - 1)
strSql = strSql & "WHERE Cod IN('1','3','6','9');"
qry.SQL = strSql
Set qry = Nothing
DoCmd.OpenReport "NomeDoRelatório", acViewPreview

Usuário Wolmar:

Valeu Avelino,

obrigado.


 

 


Não há comentário

Envie seu comentário: