Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

deyvidy mateus

Tabela Cruzada

Recommended Posts

Boa noite pessoal!

 

Gostaria que ajudassem a resolver um problema. Tenho que alocar a produção de acordo com as premissas do sistema.

Premissa: producao do vigesimo primeiro dia do mes anterior até o vigésimo dia do mes atual = MES ATUAL ...

 

Ex: Estamos em abril/2010. Toda produção que for até dia 20/04 vai para o mês de abril.

A produção que for de 21/04 a 20/05 vai para maio. A produção que for de 21/05 a 20/06 vai para junho... e assim sucessivamente.

 

Pedido data_inicio data_fim metros

1 18/05/2010 27/05/2010 500

2 25/05/2010 14/06/2010 2.100

3 14/06/2010 23/06/2010 2.000

 

 

No Pedido 1.... temos 10 dias... ou seja 50 metros por dia... 3 dias x 50 = 150 para maio....e 7 dias x 50 = 350 mts para junho.

No pedido 2.... temos 21 dias... ou seja 100 metros por dia... de acordo com a premissa 2100 mts vao para junho.

No pedido 3....temos 10 dias... ou seja 200 metros por dia... 7 x 200 = 1400 mts para maio....3 x 200 = 600 mts para junho..

 

 

Sera que alguem pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Mateus,

 

Segue idéia de query - feita no próprio Access, seguindo o seu modelo de nomes:

 

 

O resultado ficará assim...

 

Pedido Data_Inicio Data_Fim Metros AreiaDia TotDias DiasMes1 TotAreiaMes1 DiasMes2 TotAreiaMes2

1 18/05/2010 28/05/2010 500 50 10 2 Mês: 05 - 100 metro(s) 8 Mês: 6 - 400 metro(s)

 

--------------------------

SELECT

tblMetros.Pedido,

tblMetros.Data_Inicio,

tblMetros.Data_Fim,

tblMetros.Metros,

[Metros]/[TotDias] AS AreiaDia,

[Data_Fim]-[Data_Inicio] AS TotDias,

IIf(Left([Data_Inicio],2)<20,20-Left([Data_Inicio],2),[Data_Fim]-[Data_Inicio]) AS DiasMes1,

"Mês: " & Mid([Data_Inicio],4,2) & " - " & [DiasMes1]*[AreiaDia] & " metro(s)" AS TotAreiaMes1,

[TotDias]-[DiasMes1] AS DiasMes2,

"Mês: " & Mid([Data_Inicio],4,2)+1 & " - " & [DiasMes2]*[AreiaDia] & " metro(s)" AS TotAreiaMes2

FROM tblMetros

Order By 1

--------------------------

 

Apenas confirme o resultado, se entendi corretamente a questão dos dias de fechamento...

 

 

 

PS: são apenas estes os campos necessários a tabela: tblMetros.Pedido, tblMetros.Data_Inicio, tblMetros.Data_Fim, tblMetros.Metros.

 

 

PPS: caso não esteja familiarizado com esta função no Access, basta criar uma nova consulta e no canto superior esquerdo, selecionar a opção SQL, colar o código acima e executar.

 

 

 

Sem mais,

 

Julien Sorel

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Mateus,

 

Segue idéia de query - feita no próprio Access, seguindo o seu modelo de nomes:

 

 

O resultado ficará assim...

 

Pedido Data_Inicio Data_Fim Metros AreiaDia TotDias DiasMes1 TotAreiaMes1 DiasMes2 TotAreiaMes2

1 18/05/2010 28/05/2010 500 50 10 2 Mês: 05 - 100 metro(s) 8 Mês: 6 - 400 metro(s)

 

--------------------------

SELECT

tblMetros.Pedido,

tblMetros.Data_Inicio,

tblMetros.Data_Fim,

tblMetros.Metros,

[Metros]/[TotDias] AS AreiaDia,

[Data_Fim]-[Data_Inicio] AS TotDias,

IIf(Left([Data_Inicio],2)<20,20-Left([Data_Inicio],2),[Data_Fim]-[Data_Inicio]) AS DiasMes1,

"Mês: " & Mid([Data_Inicio],4,2) & " - " & [DiasMes1]*[AreiaDia] & " metro(s)" AS TotAreiaMes1,

[TotDias]-[DiasMes1] AS DiasMes2,

"Mês: " & Mid([Data_Inicio],4,2)+1 & " - " & [DiasMes2]*[AreiaDia] & " metro(s)" AS TotAreiaMes2

FROM tblMetros

Order By 1

--------------------------

 

Apenas confirme o resultado, se entendi corretamente a questão dos dias de fechamento...

 

 

 

PS: são apenas estes os campos necessários a tabela: tblMetros.Pedido, tblMetros.Data_Inicio, tblMetros.Data_Fim, tblMetros.Metros.

 

 

PPS: caso não esteja familiarizado com esta função no Access, basta criar uma nova consulta e no canto superior esquerdo, selecionar a opção SQL, colar o código acima e executar.

 

 

 

Sem mais,

 

Julien Sorel

 

 

 

 

Julien,

 

 

Obrigado pela resposta.

Mas quando por ex.

PEDIDO data_inicio data_fim metros

1 14/05/2010 25/07/2010 7.000

 

agora... terá que quebrar de acordo com a premissa... total (70 dias)

17/05 a 20/05 (4 dias) - (400)

21/05 a 20/06 (31 dias) - (3100)

21/06 a 20/07 (30 dias) - (3000)

21/07 a 25/07 (5 dias) - (500)

 

Então... tinha que ser algo dinamico, pq as vezes a data fim está ha 2 ou 3 meses da nada início.

 

Desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.