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

    Configuração de Relatórios com Filtros

    Compartilhe

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 10/1/2018, 00:12

    Boa noite,

    Gostaria de solicitar ajuda para configurar o meu Relatório Fechamento(Já procurei tópicos relacionados, mas não achei nada que me ajudasse da forma que preciso).Na minha empresa, cuido dos abastecimentos da frota, onde temos fechamentos mensal, quinzenal (01 à 15 e de 16 à 31), e por decêndios (01 à 10 - 11 à 20 e 21 à 31). os dados que preciso que aparece no relatório são conforme está no Relatório Fechamento. O que eu gostaria, é de colocar alguns filtros, tipo a Unidade, que no caso é o nome do Posto, e quando eu selecionar o posto, já me traga no relatório tudo o que foi lançado neste posto, um filtro entre datas para mim escolher o período, se mensal, quinzenal, ou por decêndios, o valor total da fatura/nota, um filtro para consultar por placas, onde tem nº da nota e fatura, esses campos teriam que ser manuais, pois não tem jeito de ser automático, eu imagino. Também preciso que some a quantidade de combustível em litros, e R$ pelo tipo de combustível, se gasolina, ou Diesel. Sei que é muitos dados, mas se tiver alguém disposto a me ajudar, desde já, vou agradecendo.

    A versão do Access que uso, é 2013(Casa) e 2016(Empresa).

    dropbox.com/s/mib8o4prapakq6t/Controle%20de%20Abastecimentos%201.0.accdb?dl=1
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 11/1/2018, 12:24

    Bom dia,
    Pelo que vi, já tem o relatório
    Crie formulário com os filtros que precisa (saberá fazer) e, se precisar de adequar os filtros para abertura do relatório, venha solicitar ajuda


    .................................................................................
    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
    avatar
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 522
    Registrado : 11/11/2009

    Re: Configuração de Relatórios com Filtros

    Mensagem  scandinavo em 11/1/2018, 15:24

    Um exemplo para as datas
    Anexos
    DataNovo III.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (29 Kb) Baixado 29 vez(es)

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 11/1/2018, 17:17

    Obrigado, vou dar sequência aqui com a criação do formulário, qualquer coisa, peço ajuda.

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 13/1/2018, 19:53

    Boa tarde,

    Criei um formulário denominado Form, conforme me sujerido, ao qual coloquei todas as opções de filtros que preciso, o filtro entre datas deu certo, porém quando tentei inserir o critério para abrir por um determinado posto, ele abriu sem nenhuma informação, aí já não tive capacidade para resolver, porém vi um código do Avelino em um tópico,que isso dá para fazer por VBA, todas as opções de filtros que eu desejo, mas novamente não consegui fazer. Nestes filtros, eu também preciso fazer filtros do filtro, por exemplo, se eu selecionar a Cidade de Igrejinha, eu tenho 3 opções de convênios que são: Onze-Alles Blau, Geral-Alles Blau e TRV-Alles Blau, e isso ocorre para outras cidades também, onde temos abastecimentos para mais de um convênio. Espero ter me feito entender, e se puderem me ajudar, agradeço.



    dropbox.com/s/iw0cwbueikpjnxp/Controle%20de%20Abastecimentos%201.0.accdb?dl=1
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 14/1/2018, 14:54

    Boa tarde,
    Elimine a consulta
    Coloque a tabela Tbl_Lançamentos como origem do relatório
    Elimine a macro do botão do form
    No acontecimento Clique do botão para abrir o relatório, coloque
    Código:
    Private Sub CmdAbreRelatorio_Click()
        Dim strFiltro As String
        If Not IsNull(Postos) Then strFiltro = "Unidade='" & Postos & "'"
        If Not IsNull(DATAINICIAL) Then
            If strFiltro = "" Then
                strFiltro = "Data>=#" & DATAINICIAL & "#"
            Else
                strFiltro = " and Data>=#" & DATAINICIAL & "#"
            End If
        End If
        If Not IsNull(DATAFINAL) Then
            If strFiltro = "" Then
                strFiltro = "Data<=#" & DATAFINAL & "#"
            Else
                strFiltro = " and Data<=#" & DATAFINAL & "#"
            End If
        End If
        If Not IsNull(Combinação25) Then
            If strFiltro = "" Then
                strFiltro = "Cidade='" & Combinação25 & "'"
            Else
                strFiltro = " and Cidade='" & Combinação25 & "'"
            End If
        End If
        If Not IsNull(Combinação29) Then
            If strFiltro = "" Then
                strFiltro = "Comb='" & Combinação29 & "'"
            Else
                strFiltro = " and Comb='" & Combinação29 & "'"
            End If
        End If
       
        DoCmd.OpenReport "Relatório Fechamento", acViewPreview, , strFiltro
    End Sub

    At: Nomeie de forma normalizada (Fica melhor Combinação25 ou CxcCidade?. Fica melhor Combinação29 ou CxcCombustivel?)


    .................................................................................
    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

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 14/1/2018, 15:53

    Alexandre, primeiramente obrigado pela ajuda.

    Em relação ao seu código, funcionou parcial, quando eu filtro por um posto, ou por uma cidade, ou por tipo de combustível, filtra corretamente e abre o relatório, já quando eu seleciono um período entre datas, apresenta erro de sintaxe(Operador faltando)na expressão de consulta ' and Data<=#07/11/2017#'. Eu coloquei data inicial 1/11/2017 e final 7/11/2017, e apresenta erros. Outra coisa que gostaria, mas não sei se tem como fazer, são filtros do filtro, repare que se eu escolher no posto, Onze-Alles Blau, e selecionar um período de datas, por exemplo: 30/10/2017 e 03/11/2017, ele teria que me retornar apenas um registro, pois na base, existe pelo menos um registro neste período, que é no dia 01/11/2017. Se eu escolher um tipo de combustível, gostaria de saber em quais cidades houve registro deste tipo de combustível e vicê versa também.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 14/1/2018, 17:02

    Veja agora
    Código:
    Private Sub CmdAbreRelatorio_Click()
        Dim strFiltro As String
        If Not IsNull(Postos) Then strFiltro = "Unidade='" & Postos & "'"
        If Not IsNull(DATAINICIAL) Then
            If strFiltro = "" Then
                strFiltro = "Data>=#" & Format(DATAINICIAL, "mm-dd-yyyy") & "#"
            Else
                strFiltro = strFiltro & " and Data>=#" & Format(DATAINICIAL, "mm-dd-yyyy") & "#"
            End If
        End If
        If Not IsNull(DATAFINAL) Then
            If strFiltro = "" Then
                strFiltro = "Data<=#" & Format(DATAFINAL, "mm-dd-yyyy") & "#"
            Else
                strFiltro = strFiltro & " and Data<=#" & Format(DATAFINAL, "mm-dd-yyyy") & "#"
            End If
        End If
        If Not IsNull(Combinação25) Then
            If strFiltro = "" Then
                strFiltro = "Cidade='" & Combinação25 & "'"
            Else
                strFiltro = strFiltro & " and Cidade='" & Combinação25 & "'"
            End If
        End If
        If Not IsNull(Combinação29) Then
            If strFiltro = "" Then
                strFiltro = "Comb='" & Combinação29 & "'"
            Else
                strFiltro = strFiltro & " and Comb='" & Combinação29 & "'"
            End If
        End If
       
        DoCmd.OpenReport "Relatório Fechamento", acViewPreview, , strFiltro
    End Sub


    .................................................................................
    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

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 14/1/2018, 20:39

    Alexandre,

    Agora deu certo. Muito obrigado, e só para fechar o tópico, poderia dar uma rápida olhada em um novo critério que eu inseri que é o de placa, eu fiz uma cópia, conforme o seu código, e apenas alterei o nome dos campos, mas ao executar o filtro, acaba não filtrando nada. Acho que fiz algo errado. Podes por favor verificar na medida do possível? Obrigado.


    dropbox.com/s/kxj7eu0qyaz73rm/Controle%20de%20Abastecimentos%201.0.accdb?dl=1
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 15/1/2018, 20:06

    Boa noite,
    veja
    Código:
    Private Sub Comando33_Click()
        Dim strFiltro As String
        DoCmd.Close acReport, "Relatório Fechamento"
       
        If Not IsNull(Postos) Then strFiltro = "Unidade='" & Postos & "'"
        If Not IsNull(DATAINICIAL) Then
            If strFiltro = "" Then
                strFiltro = "Data>=#" & Format(DATAINICIAL, "mm-dd-yyyy") & "#"
            Else
                strFiltro = strFiltro & " and Data>=#" & Format(DATAINICIAL, "mm-dd-yyyy") & "#"
            End If
        End If
       
        If Not IsNull(DATAFINAL) Then
            If strFiltro = "" Then
                strFiltro = "Data<=#" & Format(DATAFINAL, "mm-dd-yyyy") & "#"
            Else
                strFiltro = strFiltro & " and Data<=#" & Format(DATAFINAL, "mm-dd-yyyy") & "#"
            End If
        End If
       
        If Not IsNull(Combinação25) Then
            If strFiltro = "" Then
                strFiltro = "Cidade='" & Combinação25 & "'"
            Else
                strFiltro = strFiltro & " and Cidade='" & Combinação25 & "'"
            End If
        End If
       
        If Not IsNull(Combinação29) Then
            If strFiltro = "" Then
                strFiltro = "Comb='" & Combinação29 & "'"
            Else
                strFiltro = strFiltro & " and Comb='" & Combinação29 & "'"
            End If
        End If
       
        If Not IsNull(Plak) Then
            If strFiltro = "" Then
                strFiltro = "Placa='" & Plak.Column(1) & "'"
            Else
                strFiltro = strFiltro & " and Placa='" & Plak.Column(1) & "'"
            End If
        End If
        DoCmd.OpenReport "Relatório Fechamento", acViewPreview, , strFiltro
    End Sub


    .................................................................................
    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

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 15/1/2018, 22:35

    Alexandre, perfeito cheers. Referente a configuração de filtros em relatório sanei minhas dúvidas por hora.

    Grato pela a ajuda neste tópico.

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 4/2/2018, 16:02

    Boa tarde

    Estou reabrindo este tópico, pois houve a necessidade de mais algumas opções de filtros, no formulário(Form Filtros), o qual recebi a ajuda do Alexandre para conseguir fazer funcionar. Tenho várias opções de filtros, as quais abre o relatório, porém surgiu a necessidade de filtrar por mais de um critério, por exemplo na opção Tipo de Combustível, eu gostaria de filtrar por mais de um tipo de combustível, atualmente só me permite um tipo, eu tentei criar mais uma combo chamada Tipo de Combustível também, e no código que o Alexandre disponibilizou eu apenas alterei os nomes. Não deu erro ao executar, porém, por exemplo mesmo escolhendo Diesel S10, em uma combo, e S500 em outra(Poderia ser Gasolina x Diesel), ao executar o relatório abre apenas com um tipo de combustível e não os dois tipos como gostaria. Outro detalhe: No Filtro Entre Datas, quando coloco uma Data Inicial e Final, e abro e Relatório Fechamento, esse período de datas escolhido fica registrado ao lado do Período da fatura(no relatório), até para o usuário saber o período dos dados que está sendo analisado, porém se no Form de Filtros, eu não escolher nenhum critério, e clicar para abrir Relatório Fechamento, gera com todos os dados que eu tenho cadastrado na minha Tbl_Lançamentos, então o que eu também gostaria, era que se eu clicar para abrir Relatório Fechamento, e não informar nenhum critério, fique ao lado do Período da Fatura no relatório: 01/01/2018 até a Data atual, pois os meus dados, eu comecei a inserir a partir do dia 1º de Janeiro. Então, deveria ficar assim no relatório, caso eu gerasse sem informar critério no Form Filtros no dia de hoje: Período da Fatura: 01/01/2018 à 04/02/2018

    Desde já, muito obrigado.


    [Você precisa estar registrado e conectado para ver este link.]
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 4/2/2018, 16:40

    Boa tarde,
    Disponibilize o formulário como pretende, que já o terá feito conforme descreveu


    .................................................................................
    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

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 4/2/2018, 17:16

    Grande Alexandre, obrigado pela disponibilidade mais uma vez..

    Bem, segue o link com o que gostaria, inseri mais uma combo chamada TCOMB2, na primeira opção de filtros, e COMBUS2, na segunda opção de fitros, ressaltando que cada uma abrem relatórios diferentes. Tentei inserir o código que você fez pra mim, apenas mudando os nomes, mas como disse, mesmo com as duas opções selecionadas, o relatório abre apenas com uma opção.


    Código:
    If Not IsNull(TCOMB) Then
    If strFiltro = "" Then
    strFiltro = "Comb='" & TCOMB & "'"
    Else
    strFiltro = strFiltro & " and Comb='" & TCOMB & COM & "'"
    End If
    End If

    If Not IsNull(TCOMB2) Then
    If strFiltro = "" Then
    strFiltro = "Comb='" & TCOMB2 & "'"
    Else
    strFiltro = strFiltro & " and Comb='" & TCOMB2 & COM & "'"
    End If
    End If

    O mesmo para o campo COMBUS2.

    Já com relação a o período de datas no relatório, eu não consegui fazer da forma que gostaria, que é: Se não informar nenhum período de datas no Form Filtros, então abre o relatório informando que o período que eu estou analisando é de 01/01/2018 até a data atual.

    Obrigado Alexandre.


    dropbox.com/s/melpk0ddubp9g1y/Controle%20de%20Abastecimentos%201.0%20-%20Teste.accdb?dl=1
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 4/2/2018, 21:52

    Normalize os nomes. Ter comando chamado Deletar_Critérios para imprimir relatório de combustível? Devia ser CmdRelatorioCombustivel

    Código:
    Private Sub Abre_Relatorio_Click()
    On Error Resume Next
    Dim strFiltro As String
    'DoCmd.Close acReport, "Relatório Fechamento"

    If Not IsNull(Postos1) Then strFiltro = "Unidade='" & Postos1 & "'"
    If Not IsNull(DATACOMEÇO) Then
        If strFiltro = "" Then
            strFiltro = "Data1>=#" & Format(DATACOMEÇO, "mm-dd-yyyy") & "#"
        Else
            strFiltro = strFiltro & " and Data1>=#" & Format(DATACOMEÇO, "mm-dd-yyyy") & "#"
        End If
    End If

    If Not IsNull(DATATERMINADA) Then
        If strFiltro = "" Then
            strFiltro = "Data1<=#" & Format(DATATERMINADA, "mm-dd-yyyy") & "#"
        Else
            strFiltro = strFiltro & " and Data1<=#" & Format(DATATERMINADA, "mm-dd-yyyy") & "#"
        End If
    End If

    If Not IsNull(CIDA) Then
        If strFiltro = "" Then
            strFiltro = "Cidade='" & CIDA & "'"
        Else
            strFiltro = strFiltro & " and Cidade='" & CIDA & "'"
        End If
    End If

    If Not IsNull(TCOMB) And Not IsNull(TCOMB2) Then
        If strFiltro = "" Then
            strFiltro = "(Comb='" & TCOMB & "' or Comb='" & TCOMB2 & COM & "')"
        Else
            strFiltro = strFiltro & " and (Comb='" & TCOMB & "' or Comb='" & TCOMB2 & COM & "')"
        End If
    ElseIf Not IsNull(TCOMB) Then
        If strFiltro = "" Then
            strFiltro = "Comb='" & TCOMB & "'"
        Else
            strFiltro = strFiltro & " and Comb='" & TCOMB & COM & "'"
        End If
    ElseIf Not IsNull(TCOMB2) Then
        If strFiltro = "" Then
            strFiltro = "Comb='" & TCOMB2 & "'"
        Else
            strFiltro = strFiltro & " and Comb='" & TCOMB2 & COM & "'"
        End If
    End If




    ''INSERI MAIS UM CRITÉRIO DE PLACA

    If Not IsNull(Placa1) Then
        If strFiltro = "" Then
            strFiltro = "Placa='" & Placa1.Column(0) & "'"
        Else
            strFiltro = strFiltro & " and Placa='" & Placa1.Column(0) & "'"
        End If
    End If



    If Not IsNull(CidFrotas) Then
        If strFiltro = "" Then
            strFiltro = "Cid='" & CidFrotas & "'"
        Else
            strFiltro = strFiltro & " and Cid='" & CidFrotas & "'"
        End If
    End If


    'MsgBox User & "Relatório gerado com sucesso!", vbInformation, "Relatório"


    DoCmd.OpenReport "Relatorio Fechamento", acViewPreview, , strFiltro


    End Sub

    Código:
    Private Sub Deletar_Critérios_Click()

    On Error Resume Next
    Dim strFiltro As String


    If Not IsNull(MES23) Then
        If strFiltro = "" Then
            strFiltro = "Mês='" & MES23 & "'"
        Else
            strFiltro = strFiltro & " and Mês='" & MES23 & "'"
        End If
    End If

    If Not IsNull(COMBUS) And Not IsNull(COMBUS2) Then
    If strFiltro = "" Then
    strFiltro = "(COMB='" & COMBUS & "' or COMB='" & COMBUS2 & "')"
    Else
    strFiltro = strFiltro & " and (COMB='" & COMBUS & "' or COMB='" & COMBUS2 & "')"
    End If
    ElseIf Not IsNull(COMBUS) Then
    If strFiltro = "" Then
    strFiltro = "COMB='" & COMBUS & "'"
    Else
    strFiltro = strFiltro & " and COMB='" & COMBUS & "'"
    End If
    ElseIf Not IsNull(COMBUS2) Then
    If strFiltro = "" Then
    strFiltro = "COMB='" & COMBUS2 & "'"
    Else
    strFiltro = strFiltro & " and COMB='" & COMBUS2 & "'"
    End If
    End If


    'MsgBox User & "Relatório gerado com sucesso!", vbInformation, "Relatório"


    DoCmd.OpenReport "Relatório Detalhes Combustível", acViewPreview, , strFiltro


    End Sub


    .................................................................................
    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

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 4/2/2018, 22:04

    Alexandre, obrigado, deu certo o seu código para o que eu gostaria na parte de filtros, alterei também o nome do botão. Ah! e quanto ao período de datas, você me sugere alguma coisa?
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 5/2/2018, 20:28

    Boa noite,
    Código:
    Private Sub Abre_Relatorio_Click()
    On Error Resume Next
    Dim strFiltro As String

    If Not IsNull(Postos1) Then strFiltro = "Unidade='" & Postos1 & "'"
    If Not IsNull(DATACOMEÇO) Then
        If strFiltro = "" Then
            strFiltro = "Data1>=#" & Format(DATACOMEÇO, "mm-dd-yyyy") & "#"
        Else
            strFiltro = strFiltro & " and Data1>=#" & Format(DATACOMEÇO, "mm-dd-yyyy") & "#"
        End If
    Else
        If strFiltro = "" Then
            strFiltro = "Data1>=#1-1-2018#"
        Else
            strFiltro = strFiltro & " and Data1>=#1-1-2018#"
        End If
    End If

    If Not IsNull(DATATERMINADA) Then
        If strFiltro = "" Then
            strFiltro = "Data1<=#" & Format(DATATERMINADA, "mm-dd-yyyy") & "#"
        Else
            strFiltro = strFiltro & " and Data1<=#" & Format(DATATERMINADA, "mm-dd-yyyy") & "#"
        End If
    Else
        If strFiltro = "" Then
            strFiltro = "Data1<=#" & Format(Date, "mm-dd-yyyy") & "#"
        Else
            strFiltro = strFiltro & " and Data1<=#" & Format(Date, "mm-dd-yyyy") & "#"
        End If
    End If

    If Not IsNull(CIDA) Then
        If strFiltro = "" Then
            strFiltro = "Cidade='" & CIDA & "'"
        Else
            strFiltro = strFiltro & " and Cidade='" & CIDA & "'"
        End If
    End If

    If Not IsNull(TCOMB) And Not IsNull(TCOMB2) Then
        If strFiltro = "" Then
            strFiltro = "(Comb='" & TCOMB & "' or Comb='" & TCOMB2 & COM & "')"
        Else
            strFiltro = strFiltro & " and (Comb='" & TCOMB & "' or Comb='" & TCOMB2 & COM & "')"
        End If
    ElseIf Not IsNull(TCOMB) Then
        If strFiltro = "" Then
            strFiltro = "Comb='" & TCOMB & "'"
        Else
            strFiltro = strFiltro & " and Comb='" & TCOMB & COM & "'"
        End If
    ElseIf Not IsNull(TCOMB2) Then
        If strFiltro = "" Then
            strFiltro = "Comb='" & TCOMB2 & "'"
        Else
            strFiltro = strFiltro & " and Comb='" & TCOMB2 & COM & "'"
        End If
    End If




    ''INSERI MAIS UM CRITÉRIO DE PLACA

    If Not IsNull(Placa1) Then
        If strFiltro = "" Then
            strFiltro = "Placa='" & Placa1.Column(0) & "'"
        Else
            strFiltro = strFiltro & " and Placa='" & Placa1.Column(0) & "'"
        End If
    End If



    If Not IsNull(CidFrotas) Then
        If strFiltro = "" Then
            strFiltro = "Cid='" & CidFrotas & "'"
        Else
            strFiltro = strFiltro & " and Cid='" & CidFrotas & "'"
        End If
    End If


    'MsgBox User & "Relatório gerado com sucesso!", vbInformation, "Relatório"


    DoCmd.OpenReport "Relatorio Fechamento", acViewPreview, , strFiltro


    End Sub


    .................................................................................
    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

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 5/2/2018, 21:59

    Alexandre,

    Talvez eu tenha feito algo errado, mas não funcionou da forma que gostaria. Repare que se eu informar um período de datas no Form Filtros, e clicar em abrir o Relatório Fechamento, o mesmo gera já informando o período de datas que eu informei, ou seja, fica assim: Período da Fatura: 05/02/2018 à 05/02/2018, mas caso eu gerar o relatório sem informar nenhum período de datas, ou sem qualquer outro critério, o Relatório Fechamento abre com todos os dados que eu tenho cadastrado, desde 01/01/2018 até a última data que eu cadastrei algum dado, mas não informa o período que eu estou pesquisando, claro que eu sei, mas, caso alguém, um pouco mais leigo do eu for gerar, pode ser que não vai saber, neste caso, eu quero que apareça no Relatório Fechamento: Período da Fatura: 01/01/2018 à 05/02/2018(neste caso, sempre a data final, deve ser a atual). Repare ainda que para aparecer o período de datas no Relatório Fechamento, uso esta fórmula, a qual adaptei deu um exemplo do amigo Gilberlânio.

    =[Formulários]![Form Filtros]![PERIODODATAS]

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 8/2/2018, 00:16

    Obrigado!
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 10/2/2018, 12:00

    Bom dias,
    Ficou Resolvido?


    .................................................................................
    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

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 10/2/2018, 16:16

    Alexandre,

    Na verdade não, eu apenas coloquei como resolvido, pois tive necessidade de abrir outro tópico, pois acho que as regras não permite abrir outro tópico tendo outro aberto.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 10/2/2018, 16:42

    Se a nova dúvida fôr continuidade e relacionada, pode colocar no seguimento.
    É normal querermos alguma solução e o caminho dar várias voltas até lá chegarmos

    Se fôr nova dúvida, deve abrir novo tema, mas se a dúvida anterior se mantiver deve manter o tema anterior

    Veja em que situação se enquadra


    .................................................................................
    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

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 20/3/2018, 10:59

    Alexandre referente ao detalhe que eu disse que não estava resolvido, agora está, eu coloquei na data inicial no valor padrão, a data ="01/01/2018", e na data final, no valor padrão, a função =data(), não sei se era a melhor forma, mas está funcionando da forma que eu queria. Obrigado!

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 19/5/2018, 00:54

    Boa noite,

    Estou reabrindo este tópico, pois estou tentando configurar um critério para um novo filtro e não estou obtendo êxito que gostaria.

    Essa parte do código que o mestre Avelino montou pra mim, funciona perfeitamente para o critério placa

    Código:
    If Not IsNull(Placa1) Then
    If strFiltro = "" Then
           strFiltro = "Placa IN(" & Mid(Me!TXT_FILTROS, 2) & ")"
       Else
           strFiltro = strFiltro & " and Placa IN(" & Mid(Me!TXT_FILTROS, 2) & ")"
       End If
      End If

    Porém tentei inserir o mesmo código para outros critérios, obviamente mudando o nome dos campos, mas não está a funcionar

    If Not IsNull(Postos1) Then
    If strFiltro = "" Then
           strFiltro = "Unidade IN(" & Mid(Me!Nome_Posto, 2) & ")"
       Else
           strFiltro = strFiltro & " and Unidade IN(" & Mid(Me!Nome_Posto, 2) & ")"
       End If
      End If
     
     
      If Not IsNull(Rede_1) Then
    If strFiltro = "" Then
           strFiltro = "Rede IN(" & Mid(Me!Rede_1, 2) & ")"
       Else
           strFiltro = strFiltro & " and Rede IN(" & Mid(Me!Rede_1, 2) & ")"
       End If
      End If

    Os códigos estão no Frm_Filtros_GERAL, onde toda vez que eu selecionar um valor da combo, já armazena na caixa de texto imediatamente abaixo, e quando eu clico para abrir o relatório, deve abrir de acordo com os critérios que eu selecionei.

    Se alguém tiver mais uma dica para me passar, agradeço, creio que seja apenas detalhes no código.

    Obrigado.




    dropbox.com/s/o6rudifyawuuyn2/Exemplo%20Nei.accdb?dl=1

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 21/5/2018, 17:51

    Alguém me sugere algo?

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 26/5/2018, 18:26

    Up
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 28/5/2018, 21:48

    Boa noite,
    Algum tempo fora do fórum
    Como está a dúvida?
    Se ainda persistir, relembre tudo o que precisa


    .................................................................................
    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

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 29/5/2018, 01:22

    Alexandre, obrigado

    A dúvida ainda persiste, e é exatamente o que mencionei acima.

    O código abaixo para o campo placa funciona perfeitamente, eu seleciono as placas que eu quero que apareçam no meu relatório através da combo, ao selecionar, as mesmas ficam armazenadas no campo logo abaixo da combo, e ao clicar para abrir o relatório, o mesmo abre com todas as placas que eu selecionei. Porém eu tentei inserir o mesmo código para outros critérios, seguindo a mesma lógica, porém com o nome dos campos alterados, mas não está dando certo, não dá nenhum erro ao executar o código, mas também não filtra nada.

    Este dá certo.

    If Not IsNull(Placa1) Then
    If strFiltro = "" Then
    strFiltro = "Placa IN(" & Mid(Me!TXT_FILTROS, 2) & ")"
    Else
    strFiltro = strFiltro & " and Placa IN(" & Mid(Me!TXT_FILTROS, 2) & ")"
    End If
    End If


    Este não dá certo

    If Not IsNull(Postos1) Then
    If strFiltro = "" Then
    strFiltro = "Unidade IN(" & Mid(Me!Nome_Posto, 2) & ")"
    Else
    strFiltro = strFiltro & " and Unidade IN(" & Mid(Me!Nome_Posto, 2) & ")"
    End If
    End If


    Este não dá certo

    If Not IsNull(Rede_1) Then
    If strFiltro = "" Then
    strFiltro = "Rede IN(" & Mid(Me!Rede_1, 2) & ")"
    Else
    strFiltro = strFiltro & " and Rede IN(" & Mid(Me!Rede_1, 2) & ")"
    End If
    End If
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 29/5/2018, 21:50

    Boa noite,
    Reveja a substituição de nomes
    Onde está Placa1 corresponde depois a Postos1?
    Onde está Placa corresponde depois a Unidade?
    Onde está TXT_FILTROS corresponde depois a Nome_Posto?

    Há-de haver algo diferente


    .................................................................................
    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

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 30/5/2018, 02:24

    Alexandre,

    Não entendi muito bem o seu questionamento, mas vou explicar melhor os campos...

    No primeiro critério do código: Placa1 é o nome do campo, onde eu seleciono as placas, e o campo TXT_FILTROS, é onde recebe todas as placas que eu selecionar pelo campo Placa1, e Placa, é o nome da coluna da minha tabela onde estão armazenadas todas as placas. Já para o segundo critério, Posto1, é o campo, onde eu seleciono os postos, e os mesmos são armazenados no campo Nome_Posto, na tabela são armazenados na coluna Unidade.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 31/5/2018, 13:57

    Boa tarde
    Pelo código que indicou
    Placa1 e TXT_FILTROS são nomes de controlos no formulário
    Placa é nome de campo em tabela


    .................................................................................
    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

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 1/6/2018, 11:34

    Exatamente isso.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 2/6/2018, 10:26

    Bom dia
    Se substituiu pelos correspondentes, devia funcionar


    .................................................................................
    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

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 2/6/2018, 23:14

    Pois é, mas não funciona, e eu não sei por que
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 3/6/2018, 21:28

    Boa noite,
    Tem de ver qual diferença
    Ao começar a execução, as variáveis vazias?


    .................................................................................
    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

    Ismael Silva
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 274
    Registrado : 11/12/2017

    Re: Configuração de Relatórios com Filtros

    Mensagem  Ismael Silva em 6/6/2018, 00:19

    Alexandre, desculpe não entendi seu questionamento.
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: Configuração de Relatórios com Filtros

    Mensagem  Alexandre Neves em 6/6/2018, 10:27

    Bom dia
    Está a utilizar a variável strFiltro
    No início da execução do código ela está vazia?
    Se ela estiver vazia, se os nomes envolvidos no código são os correspondentes ao código que funciona, algo está diferente quase impercetivel


    .................................................................................
    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

      Data/hora atual: 21/9/2018, 03:55