Programación General > Visual Basic 6.0 e inferiores

 Calcular Hora

(1/3) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa