bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Comando IN na consulta em modo design

Comando IN na consulta em modo design

Adquira a assinatura vitalícia do site e passe a ter acesso aos arquivos exemplos, vídeos, revistas, livros e ao kit de montagem de ribbons. Você terá suporte por e-mail, caso necessite tirar dúvidas pontuais. Clique AQUI e veja como obter um dos nossos planos. Clique AQUI e faça uma visita a seção Downloads do site e verifique as centenas de arquivos que estará à sua disposição. Clique AQUI e faça uma visita a seção Vídeos do site e veja a lista que estará disponível ao se tornar o nosso assinante vitalício. Clique AQUI e saiba mais detalhes sobre o kit de montagem de ribbons (deixe seus aplicativos com aspecto profissional).

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: