MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


4 participantes

    Abrir consulta com filtro via Form/VBA

    diegojacob
    diegojacob
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 122
    Registrado : 06/07/2011

    Abrir consulta com filtro via Form/VBA Empty Abrir consulta com filtro via Form/VBA

    Mensagem  diegojacob 31/10/2012, 11:10

    Eu possuo um formulário que faz filtros para gerar relatórios, só que gostaria de usar o mesmo para abrir consultas também, mas não estou conseguindo achar a sintaxe correta, o código é:

    Private Sub GerarRelatorio_Click()
    Dim stDocName As String

    Filtro1 = "nz([Disciplina]) like '" & Me.FiltroDisciplina & "*'"
    Filtro2 = "[Project] like '" & Me.FiltroProject & "*'"


    FiltroFinal = Filtro1 & E & Filtro2
    stDocName = FiltroTipoRelatorio.Column(3)
    '(Tenho uma tabela onde cadastro os nomes de meus relatórios e consultas)

    DoCmd.OpenReport stDocName, acPreview, , FiltroFinal, acWindowNormalm
    '(Este funciona perfeitamente, mas abre apenas relatórios)'

    Estou tentando usar os mesmos filtros, mas no final, pedir para abrir uma consulta ao invés do relatório.

    Tentei
    DoCmd.OpenQuery stDocName, acViewNormal, , FiltroFinal, acWindowNormalm
    mas não funcionou, gostaria de contar com a ajuda do Forum.
    Obrigado.
    Diego
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    Abrir consulta com filtro via Form/VBA Empty Re: Abrir consulta com filtro via Form/VBA

    Mensagem  Alexandre Neves 31/10/2012, 17:09

    Boa tarde, diego
    A sintaxe do openquery é diferente e não aceita o filtro. Coloque Docmd.openquery e prima F1


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    diegojacob
    diegojacob
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 122
    Registrado : 06/07/2011

    Abrir consulta com filtro via Form/VBA Empty Re: Abrir consulta com filtro via Form/VBA

    Mensagem  diegojacob 31/10/2012, 18:35

    Boa tarde alexandre,
    infelizmente não posso fazer isso, pois no meu formulário de filtro eu também possuo uma lista de opções que tamém faz parte do filtro, e nela eu posso selecionar mais de um tipo/filtro em um mesmo campo.

    Mas a minha dúvida era com relação a abrir a consulta mesmo.

    Mas acho que posso substituir o abrir uma consulta por um formulário, dessa forma, eu posso usar os valores para visualização, cópia e etc., certo?

    Obrigado pela ajuda.

    Att.
    Diego


    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    Abrir consulta com filtro via Form/VBA Empty Re: Abrir consulta com filtro via Form/VBA

    Mensagem  Avelino Sampaio 31/10/2012, 19:59

    Olá, Diego!

    Aproveitei para me exercitar, usando o querydef para alterar a clausula WHERE da consulta e assim receber a filtragem que desejar.

    tente adaptar a sua necessidade

    Código:
    Dim qry As DAO.QueryDef
    Dim filtro As String
    Dim k As Integer
    Set qry = CurrentDb.QueryDefs("qryTeste")
    filtro = "Operadora =""vivo"""
    qry.SQL = Replace(qry.SQL, ";", "")
    k = IIf(InStr(qry.SQL, "WHERE") = 0, Len(qry.SQL), InStr(qry.SQL, "WHERE") - 1)
    qry.SQL = Mid(qry.SQL, 1, k) & "WHERE " & filtro & ";"
    DoCmd.OpenQuery "qryTeste"

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    machaves
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 28/01/2015

    Abrir consulta com filtro via Form/VBA Empty Abir consulta com filtros via VBA

    Mensagem  machaves 26/10/2016, 21:32

    Avelino, boa tarde.

    Sua instrução é fantástica. Tentei adptar seu exemplo para abrir uma consulta com dois filtros, mas não consegui. Seria possível executar com dois filtros?

    Att.

    Mauro

    Conteúdo patrocinado


    Abrir consulta com filtro via Form/VBA Empty Re: Abrir consulta com filtro via Form/VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 19/4/2024, 04:20