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]Fracionar um valor em várias datas.

    Compartilhe
    avatar
    lindomar.silva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 27/08/2010

    [Resolvido]Fracionar um valor em várias datas.

    Mensagem  lindomar.silva em Qui 07 Dez 2017, 22:39

    Olá boa noite!

    Preciso da ajuda de vocês.

    É possível fracionar um valor em várias datas?

    Digamos que no dia uma empresa tem capacidade de fazer 100 unidades de um produto.
    Então imaginemos a seguinte situação:

    Data do pedido: 07/12/2017

    Pedido 1 = 50
    Pedido 2 = 40
    Pedido 3 = 60
    Pedido 4 = 40

    Será feito na data 07/12 os pedidos 1 e 2, e apenas 10 produtos do pedido 3, completando a capacidade dia, o restante do pedido 3 será realizado no dia 08/12, juntamente com o pedido 4.


    Será que isso é possível fazer?

    Alguma ideia?


    Muito obrigado!
    avatar
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Fracionar um valor em várias datas.

    Mensagem  scandinavo em Sex 08 Dez 2017, 00:09

    Ola

    É mais façil a solução do que a compreensão

    Como voce faz isto hoje, ja tem uma estrutura montada. com formulario e subformulario

    A data do pedido não seria o dia de produção


    se sim posta ai
    se não, explique melhor estes pedidos são recebidos previamente e depois voce manda para a produção.
    avatar
    lindomar.silva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 27/08/2010

    Re: [Resolvido]Fracionar um valor em várias datas.

    Mensagem  lindomar.silva em Sex 08 Dez 2017, 13:28

    Olá Scandinavo

    Obrigado pela resposta.

    Segue em anexo modelo do sistema.

    Existe um campo "Data Prevista" que será a data fracionada.

    Só reforçando, baseado no campo "Saldo", eu quero os pedidos preencham a capacidade diária e adiciona o excedente para o próximos dias.

    Obrigado!
    Anexos
    EXEMPLO.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (30 Kb) Baixado 10 vez(es)
    avatar
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Fracionar um valor em várias datas.

    Mensagem  scandinavo em Sab 09 Dez 2017, 21:34

    Ok
    mas eu não vou usar este campo saldo do jeito que está saldo linha a linha.
    Imagino que você produza mais de um item.
    Está meio corrido mas até o fim de semana que vem posto alguma coisa dia 15.
    Não abandone o poste pois seu problema tem solução
    Pelo menos este kkkkkkkk
    avatar
    lindomar.silva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 27/08/2010

    Re: [Resolvido]Fracionar um valor em várias datas.

    Mensagem  lindomar.silva em Sab 09 Dez 2017, 21:58

    Novamente, muito obrigado! cheers

    Sim, com certeza na lista terá mais de um produto.

    Deixarei o post aberto. Ficarei no aguardo!
    De qualquer forma, estou fazendo pesquisas, algumas funções que eu não ainda não conheço, como por exemplo RoundUp.

    Até lá. Smile
    avatar
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Fracionar um valor em várias datas.

    Mensagem  scandinavo em Qua 13 Dez 2017, 12:35

    Como voce não passou a forma que voce trabalha hoje
    imaginei a seguinte situação

    dependendo da sua forma de trabalhar o codigo fica diferente mas o raciocínio o mesmo.

    Voce ja tem a produção do dia armazenada(estoque)
    assim que os pedidos vão aparecendo vai sendo retirado deste estoque
    e se pedido ficar fracionado o que faltou vai para o outro dia



    vai sendo linha a linha

    seguindo o seu exemplo mas a estrutura teve que ser alterada.

    usei o select case e não consegui fazer o formulário atualizar somente com o uso do botão

    se alguém souber aonde estou errando da uma ajuda ai.



    'seque o codigo

    Dim DB As Database
    Dim rs As DAO.Recordset

    Set DB = CurrentDb()
    Set rs = DB.OpenRecordset("TBL_PEDIDO")

    Dim strProdutoQtd As Integer
    On Error Resume Next

    'busca na tabela a quantidade de estoque existente
    strProdutoQtd = Val(DLookup("[Estoque]", "TBL_CARGA", "[Código] = " & Me.PROCESSO & ""))

    Select Case strProdutoQtd

    Case Is <= 0 'caso seja zero ou menor que zero

    MsgBox "Estoque zerado, insuficiente para o produto  " & Me.PROCESSO.Column(1) & " " & vbCrLf _
    & "Qnt atual é de  " & strProdutoQtd & "", vbCritical, "Falta de Mercadoria............"
    Me.QTDE = "" 'qntSaida
    Me.Undo

    Case Is >= Me.QTDE 'caso seja maior que a qnt de saida
    Me.dt_prev = Me.DT
    'se tudo estiver bem, retira a quantidade da tabela
    DoCmd.SetWarnings False
    'Como o estoque é maior retira da qtde
    DoCmd.RunSQL "UPDATE TBL_CARGA Set [TBL_CARGA].[Estoque] = [TBL_CARGA].[Estoque] - '" & Me.QTDE & "' WHERE [TBL_CARGA].[Código] = " & Me.PROCESSO & ""
    DoCmd.SetWarnings True

    Case Is < Me.QTDE 'se a saida for maior que o estoque

    MsgBox "O resto do pedido vai ficar para outro dia  " & Me.PROCESSO.Column(1) & " " & vbCrLf _
    & "Qnt atual é de  " & strProdutoQtd & "", vbCritical, "Falta de Mercadoria............"
    'armazena o que faltou do pedido
    Me.SALDO_PEDIDO = Me.QTDE - strProdutoQtd
    'preenche a data +1
    Me.dt_prev = Me.DT + 1
    'executa a atualização do estoque
    DoCmd.SetWarnings False
    'Como a qnde é maior que o estoque retira do proprio estoque zerando
    DoCmd.RunSQL "UPDATE TBL_CARGA Set [TBL_CARGA].[Estoque] = [TBL_CARGA].[Estoque] - '" & strProdutoQtd & "' WHERE [TBL_CARGA].[Código] = " & Me.PROCESSO & ""
    DoCmd.SetWarnings True
    'agora adiciona uma nova linha com resto do pedido para o dia sequinte
           rs.AddNew
           rs("codPedido") = Me.CodPedido
           rs("DT") = Me.DT
           rs("Processo") = Me.PROCESSO
           rs("Qtde") = Me.SALDO_PEDIDO
           rs("dt_prev") = Me.dt_prev
           rs.Update
           
    rs.Close
    DB.Close
    'Atualiza o form
    'Nao sei por que mas não esta atualizando clique no botão ou f5
    'testei as duas opções e nada
    Me.Requery
    Me.Form.Requery

    End Select
    Anexos
    EXEMPLO 2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (34 Kb) Baixado 13 vez(es)
    avatar
    lindomar.silva
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 83
    Registrado : 27/08/2010

    Re: [Resolvido]Fracionar um valor em várias datas.

    Mensagem  lindomar.silva em Dom 24 Dez 2017, 14:58

    Olá Scandinavo, boa tarde!

    Desculpe-me pela demora em retornar.
    Muito obrigado pela ajuda, na verdade não era exatamente o que eu queria, mas consegui adaptar e aproveitar uma parte do código.

    Very Happy

    Abraço!
    avatar
    scandinavo
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Fracionar um valor em várias datas.

    Mensagem  scandinavo em Qua 27 Dez 2017, 11:32

    Valeu pelo retorno

    é isso quando não serve a gente adapta kkkkkkk

      Data/hora atual: Seg 28 Maio 2018, 10:56