Como sacar el total de horas en una base de datos

Ojala y me pudieras ayudar ya que estoy empezando en esto de las db y me he creado un gran conflicto ya que no me da lo esperado en mi formulario.
Mi problema es este tengo una tabla con los campos hr_entrada, hr_salida, total. Estos primero dos campor están declarados de tipo fecha/hora en los cuales he llenado escribiendo solo las horas y en total esta declarado como tipo numérico.
Cree mi formulario con estos 3 campos y quiero que al restar la hr_salida y la hr_entrada me de la suma de horas trabajadas como tipo entero en mi campo total peor no me da nada y ya busque varias formas y no me da ninguna no se kaul sea el problema.
Ejemplo:
8:30am-5:30pm=9hr
estas formulas son las mas logicas pero no meda ningun resultado.
'suma = CFecha([hr_salida] - [hr_entrada])
'suma = [hr_salida] - [hr_entrada]

1 respuesta

Respuesta
1
(xxxxxx) para este formulario lo mejor es programar en un evento del control para hacer las operaciones y posteriormente guardar el resultado en el campo correspondiente para poder hacerlo en tiempo de diseño selecciona el control donde esta la hora de salida y con el clic derecho del ratón selecciona propiedades y ve a la ficha de eventos, en el evento después de actualizar haz clic en el botón y elige generados de código, automáticamente encontraras el código del evento:
Private Sub horasalida_AfterUpdate()
End Sub
despues agrega el siguiene codigo:
dim entrada, salida, suma as double
entrada = horaentrada
salida = horasalida
suma = salida - entrada
total = suma
Excelente muchas gracias si me funciono ahora si me hace el calculo...
Aun que tengo otra duda espero me puedas sacar de ella..
Lo que pasa es que ahora ya me da en mi cuadro de texto total el resultado de la resta de horas pero me gustaría que me lo diera en formato numeriko supongo que se debe hacer una conversión de fecha/hora a numérico o no se esa es mi gran incógnita ya que le he añadido 5 campos más ejemplo:
hr_salida1-hr_entrada1=total1
hr_salida2-hr_entrada2=total2
hr_salida3-hr_entrada3=total3
hr_salida4-hr_entrada5=total4
hr_salida15-hr_entrada5=total5
Y el total de oras de cada uno me los da bien pero en formato fecha/hora pero me gustaría que el resultado de cada total me saliera en forma de tipo numero para que al final de esto sume el total de horas que estuvieron..
hr_totales= total1+total2+total3+total4+total5
hr_totales= 11.35
Y el resultado sea en forma de numero para así poder manipularlo más fácilmente en mis otras tablas...
Bueno espero me puedas resolver esta gran duda y nuevamente gracias me has sacado de un gran problema...
Para poder realizar las operaciones puedes utilizar las funciones CDbl o CDec, las cuales convertirán lo que pongas en ella en formato decimal o doble, también puedes utilizar CInt que convertirá la cadena a entero, pero en este caso no aplica debido a que es muy probable que el resultado se interprete como fracciones, para usarlas solo debes seguir la siguiente sintaxis: CDbl(Variable), seguramente funcionará como lo deseas.
Muchas gracias arodea por tus soluciones solo que la ultima sobre la utilización de las funciones CDbl o CDec no me funcionaron como esperaba ya que no me daba la suma de las oras reales me sacaba otro valor ya que creo era por que sumaba las fechas igual y no solo las horas que era lo que esperaba pero ya he encontrado la solución lo he logrado con el generador de expresiones. Pero no importa se te agradece las soluciones ya que me sacaste de un gran problema con lo de las sumas individuales por que tenia un buen rato buscando la solución y no la encontraba.
Ya si llegara a tener otro problema te estaré molestando por ahora creo que es todo...
saludos y nuevamente garcías... +10

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas