Olá Tiranossauro, testei o seu exemplo e funcionou 100%, só que como meu código não estou conseguindo adequá-lo, vou inserir o código abaixo para você me dar uma luz, como posso fazer.
----------------------------
segue o código:
Dim RESP As New ADODB.Recordset
Private Sub CommandButton1_Click()
'On Error GoTo fora
If Text2.Text = "" Or Text3.Text = "" Then
MsgBox "Informe uma data válida", vbExclamation, "Informação de Datas"
Text2.SetFocus
Exit Sub
End If
Dim dtp As Date
Dim dtp2 As Date
dtp = Text3.Text
dtp2 = Text2.Text
If CDate(dtp) > CDate(dtp2) Then
MsgBox "A data inicial não pode ser maior que a data final", vbExclamation, "Informação de Datas"
Text1.SetFocus
Exit Sub
End If
Dim totalhours As Long, totalminutes As Long, totalseconds As Long
Dim days As Long, hours As Long, minutes As Long, seconds As Long
Dim interval As Variant, j As Integer
RESP.MoveMin
Do While Not RESP.EOF
If RESP!Data_Deslocamento >= dtp And RESP!Data_Deslocamento <= dtp2 Then
interval = interval + RESP!Total_Horas
End If
RESP.MoveNext
Loop
totalhours = Int(CSng(interval * 24))
totalminutes = Int(CSng(interval * 1440))
totalseconds = Int(CSng(interval * 86400))
hours = totalhours Mod 24
minutes = totalminutes Mod 60
seconds = totalseconds Mod 60
hora = Str(totalhours) & ":"
AumentaZero = Right$("0" & Trim(Str(Trim(minutes))) & ":", 3)
hora = hora & AumentaZero
AumentaZero = Right$("0" & Trim(Str(Trim(seconds))), 3)
hora = hora & AumentaZero
"0bs. a variavel hora vai receber o somatorio das horas
'aqui é o seu código Tiranossauro--------------------------------------
Dim vHMS As String
Dim vsegundos As Long
Dim vNHMS As String
Dim vH As Long
Dim vM As Long
Dim vs As String
'=======================
vHMS = "26:10:15" >>>>> AQUI QUE EU PRECISO ENTRAR COM A VARIAVEL hora.
vsegundos = Val(Mid(vHMS, 7, 2))
vsegundos = vsegundos + (Val(Mid(vHMS, 4, 2)) * 60)
vsegundos = vsegundos + (Val(Mid(vHMS, 1, 2)) * (60 * 60))
vsegundos = vsegundos / 5
vH = Int(Val(vsegundos) / (60 * 60))
vM = Int((vsegundos - (vH * 60 * 60)) / 60)
vs = vsegundos - (vM * 60) - (vH * 60 * 60)
vNHMS = Format(vH, "00") & ":" & Format(vM, "00") & ":" & Format(vs, "00")
Label1.Caption = vNHMS & " Horas medias"
Exit Sub
'fora:
' MsgBox "Ocorreu um erro no processamento, verifique os campos data", vbExclamation, "Erro na digiração das datas"
End Sub
Private Sub Form_Load()
On Error GoTo ABRE
'Abre a Conexão
Conecta True
'Abre o Recordset
RESP.CursorLocation = adUseClient
RESP.Open "Select * From Plantao", Conexao, adOpenKeyset, adLockOptimistic, adCmdText
If RESP.BOF Or RESP.EOF Then
Exit Sub
End If
Exit Sub
ABRE:
MsgBox "Ocorreu um erro durante a abertura do arquivo Plantão"
End Sub
Private Sub Text3_KeyPress(KeyAscii As Integer)
CampoDATA Text3, KeyAscii
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
CampoDATA Text2, KeyAscii
End Sub