Programación General > Visual Basic 6.0 e inferiores
Calcular Hora
UserCode:
Saludos aquí nuevamente.
No tengo idea de como solventar este asunto, no sé si en algun momento haya tenido alguien este problema:
Tengo dos ComboBox (son más pero tratan de lo mismo pero distintas horas)
En uno se indica hora de Entrada del empleado, y en el otro se indica la hora de salida.
En un Label se coloca el estimado de Horas de ese rango.
Pero los Combo tienen lo siguiente: (ambos los mismos datos)
6:00 am
6:30 am
7:00 am
7:30 am
8:00 am
8:30 am
9:00 am
.... etc
.... etc
.... etc
12:00 pm
12:30 pm
1:00 pm
1:30 pm
2:00 pm
Si se selecciona en un combo 7:00 am y en el otro 12:00 pm, se deberia de mostrar en el Label de horas = 5 (horas trabajadas)
Ni idea en verdad de como atacar o darle la vuelta correcta a esto, no podría con algo como:
--- Código: Text --- If CmbEntrada.Caption = "7:00 am" And CmbSalida.Caption = "12:00 pm" Then LbTotalHrs.Caption = 5ElseIf CmbEntrada.Caption = "8:30 am" And CmbSalida.Caption = "12:00 pm" Then Lb TotalHrs.Caption = 4.5ElseIf ..... .... etc.... etc
Las combinaciones en la sentencia de deición son demasiadas, ha sido lo primero que me paso por la mente, no digo que sea lo que vaya a usar.
¿No habra algun control de VB que permita resolver este tipo de tarea?
Ya tenia el programita listo y viene el que lo mando a hacer a venir a desear tomar los datos de otra forma y me desperoleo todo, espero que no tenga que reestructurar las tablas o el reporte, alguien sabe por fa? :(
ElNapster:
Ya probaste con algo como esto :
--- Código: Text ---Private Sub Command1_Click()Dim d As Double Dim res As Double Dim h1 As Date Dim h2 As Date d = 86400 'Nº de segundos de un día On Error GoTo ErrorDat h1 = CDate(Text1.Text) h2 = CDate(Text2.Text) res = DateDiff("s", h1, h2) If res < 0 Then res = d + res End If Text3.Text = DateAdd("s", res, "00:00:00") Exit SubErrorDat: res = MsgBox("Error en la introducción de la hora...", vbCritical) Text1.SetFocusEnd Sub
:kicking:
cpmario:
Otra forma:
--- Código: Text --- LbTotalHrs.Caption = DateDiff("h", dtmHoraEntrada, dtmHorasalida) :comp:
UserCode:
Lastima, ningno de los dos sirve :( si por ejemplo indico como primera hora 6:00 am y en la segunda 6:30 am, u 8:00am y 8:30 am, la misma hora siempre me da como resultado 12:30 am :(
UserCode:
No importa por eso muchachos, seguire viendo, en la lucha como siempre :comp:
Navegación
[#] Página Siguiente
Ir a la versión completa