Access - Restar horas

 
Vista:

Restar horas

Publicado por Roberto (29 intervenciones) el 17/02/2015 11:42:59
Hola a todos. La cuestión es la siguiente. Tengo una tabla con empleados y horas libres disponibles anuales. Las horas las he metido como texto con mascara 000:00 pq son 135 ó 140 horas dependiendo del empleado.
Por otro lado tengo una tabla donde guardo los permisos que se han cogido los empleados. En dicha tabla tengo 2 campos de HORA_INI y HORA_FIN definidos como hora corta. La diferencia entre HORA_INI y HORA_FIN la hace perfectamente y la suma de anual de todas las horas tambien(no he probado más de 24 horas aún).
El problema viene cuando tengo que restar a esa suma el total de horas disponibles anuales, es decir las 135 ó 140.

Ejemplo:

Si un empleado ha consumido un total de 45h:15m en un año pues eso restado a las 135 h. tendría que darme un total de 89h:45m disponibles aún.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Restar horas

Publicado por deneg_nhj (3 intervenciones) el 22/02/2015 04:45:36
Acá una solución

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
'-- nHorasAnio  = Horas totales por año asignadas
'-- nHorasCons = Horas consumidas 
Function fn_ObtHorasRestan (nHorasAnio As Double, nHorasCons As Double) As String
Dim nTiempoRest1 As Double
Dim nHoras As Double
Dim nMinutos As Double
 
nTiempoRest1 = nHorasAnio - nHorasCons
 
'-- Obtenemos El entero de las Horas restantes
nHoras = Int(nTiempoRest1)
 
'-- Obtenemos Los minutos restantes en decimales
nMinutos = nTiempoRest1 - nHoras
 
 
If nMinutos > 0 Then
 '-- Si hay minutos
    fn_ObtHorasRestan = "Restan " & nHoras & " Horas y " & 60 * nMinutos & " Minutos"
Else
    '-- Aquí es para cuando no existan minutos
    fn_ObtHorasRestan = "Restan " & nHoras & " Horas "
End If
 
 
 
End Function

Entonces para llamarla utilizas algo así

sResta: fn_ObtHorasRestan ( 200, 50.5)


Solo resta adecuarla según tus necesidades

Saludos!
deneg_nhj
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar