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]Separar valores por semana

    avatar
    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    [Resolvido]Separar valores por semana Empty [Resolvido]Separar valores por semana

    Mensagem  JSommavilla em Seg Jul 11, 2016 1:13 pm

    Prezados,

    Após várias pesquisas, não consegui encontrar uma solução para a seguinte questão:

    Em um formulário, preciso demonstrar os valores a receber para quatro semanas seguintes à data de referencia. Exemplo:

    Semana 1 :  Data   Data   Data Data   Data   Data  Data  Total
                      Valor  Valor  Valor  Valor  Valor  Valor  Valor  soma

    Semana 2 :  Data   Data   Data Data   Data   Data  Data  Total
                      Valor  Valor  Valor  Valor  Valor  Valor  Valor  soma

    Semana 3 :  Data   Data   Data Data   Data   Data  Data  Total
                      Valor  Valor  Valor  Valor  Valor  Valor  Valor  soma

    Semana 4 :  Data   Data   Data Data   Data   Data  Data  Total
                      Valor  Valor  Valor  Valor  Valor  Valor  Valor  soma

    Porém, tem um problema: A semana financeira da empresa, começa na 6ª Feira de uma semana e vai até a 5ª Feira da outra semana. Creio que isso não seria problema, pois eu escolheria, como data de referencia, a sexta-feira.

    Gostaria, também, no caso de algum dia não tiver nada a receber, que o formulário, constasse aquele dia com o valor "zero".

    Sei que o código pode estar ligado com o número da semana do ano,
    DatePart("ww", DataVencimento), porém não estou conseguindo fazer com que o formulário traga as informações do jeito que preciso. Com a ajuda do Avelino, cheguei ao seguinte código:

    Private Sub dta0_AfterUpdate()
    Dim rs As DAO.Recordset
    Dim strsSql As String
    Dim strFiltro As String
    Dim p As Byte
    Dim dblTotal As Double
    Call fncLimparCampos
    strFiltro = "DataVencimento Between #" & Format(Me!dta0, "mm/dd/yyyy") & "# AND #" & DateAdd("d", 28, Format(Me!dta0, "mm/dd/yyyy")) & "#;"
    strSql = " SELECT * FROM qryValoresReceber WHERE " & strFiltro
    Set rs = CurrentDb.OpenRecordset(strSql)
    p = 1
    Do While Not rs.EOF
       Me("val" & p) = rs!SomadeValorReceber
       Me("dta" & p) = rs!DataVencimento
       
       dblTotal = dblTotal + rs!SomadeValorReceber
       p = p + 1
       rs.MoveNext
    Loop
    Me!totgeral = dblTotal

    rs.Close
    Set rs = Nothing
    End Sub

    Private Sub fncLimparCampos()
    Dim j As Byte
    For j = 1 To 28
       Me("val" & j) = Null
       Me("dta" & j) = Null
    Next
    Me!totgeral = Null
    End Sub

    Private Sub Form_Timer()

    On Error Resume Next
    If DatePart("ww", IData) <> Me!sem1.Value Then
    IData = DateAdd("d", 1, IData)
    If Me!sem1.Value = DatePart("ww", IData) Then
    Me!dta1 = IData
    Me!txt0.SetFocus
    End If
    End If

    End Sub

    Alguém poderia dar uma luz?

    Agradeço antecipadamente.
    philipp.moreira
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 05/02/2016

    [Resolvido]Separar valores por semana Empty Re: [Resolvido]Separar valores por semana

    Mensagem  philipp.moreira em Ter Jul 12, 2016 5:06 pm

    Boa tarde!

    Poderia postar seu BD somente com os objetos (formularios, consultas, tabelas, módulos) necessários para que possamos analisar e entender melhor e sugerir uma opção de solução?
    avatar
    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    [Resolvido]Separar valores por semana Empty Re: [Resolvido]Separar valores por semana

    Mensagem  JSommavilla em Ter Jul 12, 2016 6:08 pm

    Philipp,

    Obrigado pelo interesse em ajudar.

    Seje o BD para sua análise.
    Anexos
    [Resolvido]Separar valores por semana AttachmentBD.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (54 Kb) Baixado 6 vez(es)
    philipp.moreira
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 05/02/2016

    [Resolvido]Separar valores por semana Empty Re: [Resolvido]Separar valores por semana

    Mensagem  philipp.moreira em Ter Jul 12, 2016 6:49 pm

    Perguntas:

    1ª : Se o usuario escolher uma data que não seja sexta-feira, qual deve ser o comportamento:
    a) Devo trazer na consulta a semana que possui aquela data no meio e a partir desta semana retornar as demais?
    b) Devo trazer na consulta a próxima semana (iniciando da proxima sexta-feira) e a partir desta semana retornar as demais?

    2ª: Como mecanismo de tratamento não seria mais eficiente montar uma combobox com as datas (sexta-feiras) do ano vigente? Ou o usuario pode consultar anos anteriores?
    avatar
    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    [Resolvido]Separar valores por semana Empty Re: [Resolvido]Separar valores por semana

    Mensagem  JSommavilla em Ter Jul 12, 2016 7:24 pm

    Philipp,

    Tentando responder as preguntas:


    1ª : Se o usuario escolher uma data que não seja sexta-feira, qual deve ser o comportamento:
    a) Devo trazer na consulta a semana que possui aquela data no meio e a partir desta semana retornar as demais?

    b) Devo trazer na consulta a próxima semana (iniciando da proxima sexta-feira) e a partir desta semana retornar as demais?

    Resposta: O banco de dados está online com o sistema de vendas principal da empresa. Creio que o mais adequado é a letra "A". Pois, preciso que ao usuário escolher a sexta feira, o sistema traga o resultado das 4 semanas subsequentes. Exemplo:

    No caso do usuário escolher a sexta-feira, dia 22/07/2016, que o sistema traga as 4 semanas seguintes, iniciando-se em 22/07/2016. Contudo, se em algum dia não houver nenhum valor a receber, que o sistema retorne "zero" naquele dia, assim:

    Sem1           22/07   23/07   24/07   25/07     26/07    27/07     28/07
    Valor          100,00    0,00   150,00   200,00     0,00   500,00   600,00

    Sem2           29/07   30/07   31/07   01/08     02/08    03/08     04/08
    Valor         700,00   10,00   200,00   300,00     0,00   800,00   900,00

    Sem3           05/08   06/08   07/08   08/08     09/08    10/08     11/08
    Valor         750,00   20,00   200,00   800,00     100,00   0,00   350,00

    Sem4           12/08   13/08   14/08   15/08     16/08    17/08     18/08
    Valor         300,00   10,00   100,00   300,00     0,00   800,00   250,00


    Dessa forma, o usuário teria uma visão da previsão de entradas dos valores a receber para 4 semanas (1 mês). Aí, no final de cada semana, haveria um campo de total e , no final, o total geral a receber dessas 4 semanas.



    2ª: Como mecanismo de tratamento não seria mais eficiente montar uma combobox com as datas (sexta-feiras) do ano vigente? Ou o usuario pode consultar anos anteriores?

    Resposta: O usuário poderá consultar anos anteriores, visto que o BD será online com o sistema principal de vendas.

    Poderíamos deixar em aberto o dia inicial, pois, se a empresa, futuramente mudar a sua semana financeira, digamos, que passasse a iniciar na segunda, era só o usuário colocar a data correspondente à segunda-feira, que o sistema traria o restante dos dias (4 semanas) automaticamente.


    Será que fui claro?

    Obrigado mais uma vez!
    avatar
    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    [Resolvido]Separar valores por semana Empty Re: [Resolvido]Separar valores por semana

    Mensagem  JSommavilla em Ter Jul 12, 2016 7:25 pm

    Qualquer outro questionamento, favor enviar. voce me quebrará uma árvore!! (rsrs).
    philipp.moreira
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 05/02/2016

    [Resolvido]Separar valores por semana Empty Re: [Resolvido]Separar valores por semana

    Mensagem  philipp.moreira em Ter Jul 12, 2016 10:01 pm

    Segue anexo.

    Espero que o ajude a prosseguir.
    Anexos
    [Resolvido]Separar valores por semana AttachmentBD.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (83 Kb) Baixado 18 vez(es)
    avatar
    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    [Resolvido]Separar valores por semana Empty Re: [Resolvido]Separar valores por semana

    Mensagem  JSommavilla em Ter Jul 12, 2016 10:59 pm

    Prezado Philipp,

    Sensacional o seu código!!

    Eu, com os poucos conhecimentos que tenho de access, não chegaria nem perto do seu código! Parabéns!

    Entretanto, eu fiz um teste e acrescentei na tabela, no dia 12/07/2016 o valor de 200.000. Aí, coloquei no formulário a data de 08/07/2016 (sexta-feira). Na primeira semana, o total está Ok, ou seja, 200.000. Na segunda semana, que não tem nenhum valor a receber, no total dessa semana, o sistema também trouxe 200.000 e no total geral, retornou 400.000.

    Neste exemplo, seria: o total da 1ª semana, 200.000, o total da 2ª semana, 0 (zero) e o total geral, 200.000.

    Onde estaria o problema?
    philipp.moreira
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 257
    Registrado : 05/02/2016

    [Resolvido]Separar valores por semana Empty Re: [Resolvido]Separar valores por semana

    Mensagem  philipp.moreira em Ter Jul 12, 2016 11:19 pm

    Abaixo da linha :
    Me!totgeral = Nz(Me!totgeral, 0) + dblTotal

    Acrescente a linha abaixo:
    dblTotal = 0
    avatar
    JSommavilla
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 61
    Registrado : 21/09/2014

    [Resolvido]Separar valores por semana Empty Re: [Resolvido]Separar valores por semana

    Mensagem  JSommavilla em Qua Jul 13, 2016 1:03 pm

    Prezado Philipp,

    Agradeço imensamente pela ajuda!! Funcionou perfeitamente.

    Agradeço pelo empenho!

    Conteúdo patrocinado

    [Resolvido]Separar valores por semana Empty Re: [Resolvido]Separar valores por semana

    Mensagem  Conteúdo patrocinado


      Data/hora atual: Qua Out 16, 2019 8:08 pm