• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

programadorvb6

[vb6] Contagem dias de trabalho

9 mensagens neste tópico

Olá pessoal !

Estou um pouco enferrojado no VB6 e preciso da vossa ajuda.

Passo a descrever :

Estou a desenvolver uma pequena aplicação (visto ser 1 máquina já velha..) em ling. Vb6 em que tenho que fazer o cálculo de quantos dias trabalhei , mediante de quantos dias descasei ; acontece que quando utilizo a função :

CDate(TxtDataFim.Text) - CDate(TxtDataIni.Text) - Val(Folgas.Text)

; para calcular datas ex: 23/03/2009 até 07/04/2009 =16 dias - 4 dias folga | Total 12 dias |

Quando tento fazer cada Mês separadamente não obtenho os mesmos dias.

Nota : Isto é um género de máquina de calcular dias de trabalho em cada mês e que me possa gravar separando os dados por mês caso tenha 2 ou + meses inluidos.

horas.png

Junto envio o código : http://www.box.net/shared/96jdck31f8

Grato pela vossa atenção.

Programadorvb6

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque não usas a função Datediff() para calcular os dias ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque não usas a função Datediff() para calcular os dias ?

Olá bom dia.

O que eu pretendo com este programa é que não me exclua os fins de semana , pois os horários são rotativos.

Acho com a função DateDiff não dá para fazer pois ela não conta com eles como dias de trabalho ("Sáb;Dom")

Fiz assim :

LblTotal.Caption = DateDiff("d", TxtDataIni.Text, TxtDataFim.Text) - Val(Folgas.Text)

Grato pela vossa atenção

Programadorvb6

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas assim já dá ou não ? Agora estou confuso!

Usas o datediff() para calcular o número de dias e depois excluis as folgas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

oLá + 1 vez

não dá !

Ex : 23/03/2009 até 31/03/2009 = 8 dias ( s/ folgas)

Com a func. 

DateDiff("d", TxtDataIni.Text, TxtDataFim.Text) - Val(Folgas.Text)

O que não é verdade se começar dia 23/03/2009 será = 9 dias segundo uma escala rotativa ( ex : entrar sempre no horario : (00:00/08:00)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

oLá + 1 vez

não dá !

Ex : 23/03/2009 até 31/03/2009 = 8 dias ( s/ folgas)

Com a func. 

DateDiff("d", TxtDataIni.Text, TxtDataFim.Text) - Val(Folgas.Text)

O que não é verdade se começar dia 23/03/2009 será = 9 dias segundo uma escala rotativa ( ex : entrar no horario : (00:00/08:00)

Se trabalhares de dia 23 a 31 (inclusive) são 9 dias!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É essa a forma.

E como faço então com a Função datediff() ?

Ok acho que já vi!

Vou fazer as continhas depois digo-te alguma coisa.

Obrigado + 1 vez pela tua ajuda.

Grato pela vossa atenção.

ProgramadorVb6

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok acho já está.

Deixo ainda este post aberto , porque acho que vou precisar da vossa ajuda.

Até+

Programadorvb6

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok acho já está.

Deixo ainda este post aberto , porque acho que vou precisar da vossa ajuda.

Até+

Programadorvb6

Depois crias outro tópico se precisares de ajuda ;)

Vou marcar como resolvido (topic solved)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora