MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Comando DoCmd.ApplyFilter entre datas

    Compartilhe

    luisev
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 58
    Registrado : 03/01/2011

    Comando DoCmd.ApplyFilter entre datas

    Mensagem  luisev em Dom 17 Jul 2011, 12:54

    Boas pessoal,

    Como tenho tentado sem sucesso e não tenho tb visto exemplos por onde me possa guiar, peço-vos ajuda para pôr a fungar a seguinte instrução:

    DoCmd.ApplyFilter , "[DataRecebido] >= [DTInicio] AND [DataRecebido] <= [DTFim]"

    Tanto os campos DTInicio como DTFim não pertencem a nenhuma tabela, são livres e servem apenas para definir as datas.

    Ao clicar no botão de comando onde corre a instrução ele pede-me tanto o valor do DTInicio como do DTFim. É aqui que surge o problema. Não faz a leitura de ambos os campos. Se os digitar manualmente como me pede, funciona na perfeição. Esta instrução serve para filtrar os campos a listar num formulário de uma unica tabela de comissoes de vendedores em que apenas pretendo listar os registos onde as facturas foram cobradas entre uma data e outra.

    Cumprimentos

    Luis,

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: [Resolvido]Comando DoCmd.ApplyFilter entre datas

    Mensagem  criquio em Dom 17 Jul 2011, 13:01

    Olá, teste assim:

    DoCmd.ApplyFilter , "[DataRecebido] >=#" & [DTInicio] & "#" And "[DataRecebido] <=#" & [DTFim] & "#"


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    luisev
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 58
    Registrado : 03/01/2011

    Re: [Resolvido]Comando DoCmd.ApplyFilter entre datas

    Mensagem  luisev em Dom 17 Jul 2011, 17:00

    Boas amigo,

    Já testei e não deu! Dá erro de "Runtime error 13" "Type mismatch"

    Luis,

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: [Resolvido]Comando DoCmd.ApplyFilter entre datas

    Mensagem  criquio em Dom 17 Jul 2011, 17:21

    Tente alterar o filtro no Recordset mais ou menos assim:

    Me.RecordSource = "SELECT * FROM SuaTabela WHERE DataRecebido >='" & DTInicio & "' And '"DataRecebido <='" & DTFim & '""

    Isso é para o caso de colocar a instrução no cabeçalho do formulário mesmo. Se for um subformlário, aí terá que colocar o nome docontrole subformulário:

    Me.NomeDoSubForm.RecordSource = "SELECT * FROM SuaTabela WHERE DataRecebido >='" & DTInicio & "' And '"DataRecebido <='" & DTFim & '""


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    luisev
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 58
    Registrado : 03/01/2011

    Re: [Resolvido]Comando DoCmd.ApplyFilter entre datas

    Mensagem  luisev em Dom 17 Jul 2011, 18:03

    Ainda não resulta.

    Envio erro.

    Luis,

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Comando DoCmd.ApplyFilter entre datas

    Mensagem  JPaulo em Seg 18 Jul 2011, 11:55

    Me.RecordSource = "SELECT * FROM SuaTabela WHERE DataRecebido BETWEEN #" & DTInicio & "# And #" & DTFim & "#"


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    luisev
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 58
    Registrado : 03/01/2011

    Re: [Resolvido]Comando DoCmd.ApplyFilter entre datas

    Mensagem  luisev em Seg 18 Jul 2011, 20:10

    Boas caro amigo,

    Funciona na perfeição. Posso ainda a dicionar um filtro tipo NomeVend=aaaaa? Em que NomeVend é um campo da tabela e aaaaa é um combo que escolhe o nome do vendedor?

    Luis,

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Comando DoCmd.ApplyFilter entre datas

    Mensagem  JPaulo em Seg 18 Jul 2011, 20:24

    Não tenho como testar, mas pode tentar assim, sendo que a Column(1) é a segunda coluna no SQl da Combobox, a primeira é zero (0).

    Me.RecordSource = "SELECT * FROM SuaTabela WHERE DataRecebido BETWEEN #" & DTInicio & "# And #" & DTFim & "# AND NomeVend='" & Me.aaaaa.Column(1) & "'"




    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    luisev
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 58
    Registrado : 03/01/2011

    Re: [Resolvido]Comando DoCmd.ApplyFilter entre datas

    Mensagem  luisev em Seg 18 Jul 2011, 21:27

    Certo! Funciona na perfeição.

    Quem sabe sabe e mais nada!!!

    Obrigado,

    Luis,

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Comando DoCmd.ApplyFilter entre datas

    Mensagem  JPaulo em Seg 18 Jul 2011, 21:33

    Obrigado pelo retorno o fórum agradece.


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    Claudemir P
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 153
    Registrado : 27/06/2013

    Re: [Resolvido]Comando DoCmd.ApplyFilter entre datas

    Mensagem  Claudemir P em Sab 23 Jul 2016, 03:05

    Olá, não sei se pode perguntar num tópico resolvido. Se não puder me oriente o que fazer.

    Para filtrar o formulário a única solução que encontrei foi:

    Me.RecordSource = "SELECT TarefasDetalhes.*, Tarefa.Titulo, [conclusao]-[inicio] AS Tempo FROM Tarefa RIGHT JOIN TarefasDetalhes ON Tarefa.CodTarefa = TarefasDetalhes.Titulo WHERE format(Inicio,""dd/mm/yyyy"") = #" & Date & "# ORDER BY TarefasDetalhes.atribuido DESC , TarefasDetalhes.Status DESC , TarefasDetalhes.Inicio DESC"

    Será que há uma solução alternativa, mais simples? Que não perca a classificação.

      Data/hora atual: Qui 08 Dez 2016, 23:57