MaximoAccess

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

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,
    avatar
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11234
    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,
    avatar
    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11234
    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,
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9337
    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 & "#"


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

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

    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,
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9337
    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) & "'"




    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

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

    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,
    avatar
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 9337
    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.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

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

    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 : 170
    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 20 Jul 2017, 15:33