Ir para conteúdo

POWERED BY:

Arquivado

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

Maseroli

Valores Fracionados no DBGRID

Recommended Posts

Boa tarde a todos,

 

Estou com um problema, preciso criar um DBGRID simples, porem preciso incluir valores fracionados.

Porem já estou a duas semanas tentando conseguir alguma forma de acertar a entrada de dados porem nao tive sucesso ainda.

EXEMPLO:

 

1) Tenho um Obra(Construção de alguma coisa) valor de R$ 5.000,00

2) Preciso programar este obra em dias

3) Dividi os turnos (Manhã - Tarde - Dia todo)

 

VISTA DO DBGRID COM UMA LINHA PROGRAMADA

______________________________________________________________________

DATA PROGRAMADO | TURNO | VALOR PROGRAMADO |

02/12/2012 | MANHA | R$ 5.000,00 | Aqui eu inclui uma programaçao

 

 

VISTA DO DBGRID COM DUAS LINHAS PROGRAMADA

______________________________________________________________________

DATA PROGRAMADO | TURNO | VALOR PROGRAMADO |

02/12/2012 | MANHA | R$ 2.500,00 | Aqui eu inclui uma programação

02/12/2012 | TARDE | R$ 2.500,00 | Aqui eu inclui a segunda programação

 

 

VISTA DO DBGRID COM DUAS LINHAS PROGRAMADA

______________________________________________________________________

DATA PROGRAMADO | TURNO | VALOR PROGRAMADO |

02/12/2012 | MANHA | R$ 1.250,00 | Aqui eu inclui uma programação

03/12/2012 | TARDE | R$ 1.250,00 | Aqui eu inclui a segunda programação

04/12/2012 |DIA TODO | R$ 2.500,00 | Aqui eu inclui a terceira programação

 

Nesta ultima vista do DBGRID eu tenho 4 turnos, porem o ultimo turno foi trabalhado o dia todo, por isso ficou dobrado.

 

O grande problema e que o usuario pode altrar qualquer linha a qualquer momento o sistema precisa recalculando a a cada inserção ou exclusão.

 

Preciso saber qual a melhor forma de fazer esta rotina.

 

Desde já agradeço a todos.

 

Mário Sergio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo!

 

Olha, sinceramente não sei se compreendi muito bem o seu problema. O que eu entendi foi que você precisa pegar o valor total do projeto e dividi-lo de acordo com o período trabalhado.

 

Se possível de mais detalhes para que eu possa te ajudar!

 

Até a próxima :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo!

 

Olha, sinceramente não sei se compreendi muito bem o seu problema. O que eu entendi foi que você precisa pegar o valor total do projeto e dividi-lo de acordo com o período trabalhado.

 

Se possível de mais detalhes para que eu possa te ajudar!

 

Até a próxima :thumbsup:/>/>/>/>/>

 

Jeferson, bom dia.

 

Agradeço sua ajuda, vou colocar aqui as imagens do cenario de como deve funcionar, as inserções de registros que eu fiz nas imagens foram feitas manuais, preciso fazer com que o sistema calcule e recalcule a cada inclusão ou exclusão da linha do dbgrid

 

 

Att,

 

Mário Sergio

https://skydrive.live.com/redir?resid=14B25C461D7FA851!294[/img]

https://skydrive.live.com/redir?resid=14B25C461D7FA851!293[/img]

https://skydrive.live.com/redir?resid=14B25C461D7FA851!292[/img]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde amigo!

 

Agora compreendi o que você precisa. Nesse caso você teria que fazer o seguinte:

 

Criar um campo calculado para realizar o calculo dos valores, dessa forma a cada nova inclusão/alteração/exclusão ele já recalcularia pra você os valores.

 

A forma de fazer eu imagino o seguinte:

 

1) Você guarda a Qtde de Registros que existe;

Ex: QtdeReg := 3;

 

2) Você guarda a Qtde de registros que Não foram realizados o dia todo;

Ex: QtdeAux := 2;

 

if ( Turno = 'M' ) or ( Turno = 'N' ) then
   vlrCalc.AsFloat := ( ( vlrDaObra / QtdAux ) /  QtdAux )
 else
   vlrCalc.AsFloat := ( vlrDaObra / QtdAux ) * ( QtdeReg MOD QtdeAux );

 

Conseguiu compreender?

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Eisenheim,

 

precisei me ausentar por alguns dias fora do estado com isso acabei atrasando meu trabalho.

 

Bom, hoje segui sua ideia, a principio deu +ou- certo:

 

Alguns minutos depois, resolvi montar uma classe de testes e segui fielmente a sua ideia, e adivinha, consegui fazer, deu certo.

 

Muito obrigado mesmo.

 

Um grande abraço e Feliz Ano novo para todos Delphianos.

 

Att,

 

Mário Sergio

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.