[resolvido] Incluir um registro para cada dia do mes a partir de outra tabela, no período selecionado

Moderador: Avelino Sampaio

gtpsp
Mensagens: 13
Registrado em: 07 Jun 2015, 17:34

[resolvido] Incluir um registro para cada dia do mes a partir de outra tabela, no período selecionado

Mensagempor gtpsp » 22 Fev 2018, 19:25

Boa tarde a todos do forum.

Tenho uma necessidade em meu projeto que consistem em gerar o planejamento de produção diário de um determinado período com base nos registros da produção total registrados em outra tabela, conforme abaixo:

tabela 1 registra o cabeçalho do período

tab_planejprod (datainicio_planejprod, datafin_planejprod, *mes_planejprod, *ano_planejprod, duteis_planejprod, folga1_planejprod, folga2_planejprod, folga3_planejprod, folga4_planejprod, folga5_planejprod, folga6_planejprod, id_planejprod)
*campos chave

planejprod.png



tabela 2 registra a produção total por ct

tab_planejprodtt (*idplanejprod_planejprodtt, *ct_planejprodtt, prodprev_planejprodtt)
*campos chave

planejprodtt.png



tabela 3 receberá os dados via vba

tab_planejproddia (*data_planejproddia, *ct_planejproddia, prodprev_planejproddia, idplanejprod_planejproddia)
*campos chave

o código vba deve inserir registros na tabela 3 de acordo com o id_planejprod selecionado na tabela 1, selecionando os registros da tabela 2 cujo o idplanejprod_planejprodtt seja igual ao id_planejprod (selecionado) e inserir um registro para cada dia do mês para cada ct, verificando se o dia é final de semana (sab, dom) ou se é um dia de folga, se for lançar 0 no campo prodprev_planejproddia se não for lançar o valor prodprev_planejprodtt/duteis_planejprod referente ao ct_planejprodtt

os registros na tabela 3 ficaria assim (registros resumidos deveria ter 31 registros para cada ct):

planejproddia.png



Desde já agradeço a ajuda

Obrigado
Você deve estar registrado e autenticado para ter acesso ao arquivo anexo.

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.


gtpsp
Mensagens: 13
Registrado em: 07 Jun 2015, 17:34

Re: Incluir um registro para cada dia do mes a partir de outra tabela, no período selecionado

Mensagempor gtpsp » 27 Fev 2018, 10:38

Bom dia, por favor pessoal.. alguém que possa me ajudar?
pelo menos com a parte do código que crie um registro para cada dia respeitando o período selecionado?

Muito obrigado..

Avatar do usuário
Avelino Sampaio
Mensagens: 1870
Registrado em: 04 Jun 2015, 18:27
Contato:

Re: Incluir um registro para cada dia do mes a partir de outra tabela, no período selecionado

Mensagempor Avelino Sampaio » 27 Fev 2018, 13:17

gtpsp,

uma ideia de código para vc testar um periodo de data.

Código:
Public Sub fncMontaPlanejamento(dtInicio As Date, dtFim As Date)
'loop pelo periodo indicado
Do While dtInicio < dtFim
'verifica se é final de semana
If Eval("weekday(#" & Format(dtInicio, "mm/dd/yyyy") & "#) between 2 and 6") Then
'verifica se é feriado
If Not fncFeriado(dtInicio) Then
'se não for final de semana e nem feriado, acrescenta a nova data na tabela
CurrentDb.Execute "INSERT INTO tab_planejproddia (data_planejproddia) VALUES ('" & dtInicio & "');"
End If
End If
dtInicio = dtInicio + 1
Loop
End Sub


Nota 1: a função de feriado vc pega no arquivo deste meu artigo:

http://www.usandoaccess.com.br/tutoriais/ajustar-data-vencimento-para-dia-util.asp?id=1#inicio

Nota 2: backup antes de qualquer teste

Aguardamos
==================================================
Clique no link abaixo e veja um ótimo kit de ensino que tenho para você.
http://www.usandoaccess.com.br
==================================================

gtpsp
Mensagens: 13
Registrado em: 07 Jun 2015, 17:34

Re: Incluir um registro para cada dia do mes a partir de outra tabela, no período selecionado

Mensagempor gtpsp » 28 Fev 2018, 17:29

Avelino, muito obrigado pela ajuda,

Utilizei parte da função, pois precisava gravar na tabela todas as datas do período, que com o código que passou não tive dificuldades.

Como sou muito inexperiente em vba não consegui fazer através de código a inclusão de registros 1 dia para cada centro de trabalho, mas dei um jeito e resolvi com consultas de atualização.

Mas o problema foi resolvido.

Abraço e mais uma vez obrigado.

Disable adblock

Precisamos do seu apoio. Faca uma doacao para o site atraves do Paypal.



Voltar para “Módulos VBA”

Quem está online

Usuários neste fórum: Nenhum usuário registrado e 2 visitantes