SRick
|
LAVRAS MG - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 24/05/2011 17:13 hs
PRECISO DE SUA AJUDA TREZE (AGRADEÇO TAMBÉM A COLABORAÇÃO DOS DEMAIS COLEGAS) Pessoal tenho um banco de dados acess que possui um campo tipo date/time e que está armazenado diveras horas: Assim TOTAL_DE_HORAS 10:30 07:20 12:00 15:00 16:00 etc...
Bom, quando executo um comando para somar acontece um erro: aprece a soma assim
02/01/1900 10:17:00
Mas quando mando somar poucos campos dá certo.
Como corrigir isto??? se alguém puder me ajudar ficarei muito grato
HENRIQUE
|
|
|
|
|
Postada em 24/05/2011 17:18 hs
sabendo que foi perguntado a Treze, seria bom colocar o codigo de como esta calculando. Aqui ninguem é mago.
|
|
|
SRick
|
LAVRAS MG - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 24/05/2011 17:38 hs
Amigo Juan Carlos, no momento ão estou com o codigo, assim que chegar em casa postarei o codigo, mas é um codigo simples sem uso de sql.
Henrique
|
|
|
|
Postada em 24/05/2011 17:39 hs
ta certo, srick, pesquisa aqui no forum, tem muitas dicas referente a calculos de horas trabalhadas.
|
|
|
SRick
|
LAVRAS MG - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 24/05/2011 19:53 hs
Juan Carlos abaixo está o codigo para fazer o calculo, só que está me retornando um valor estranho, assim: 02/01/1900 10:17:00
Private Sub CommandButton15_Click() Dim STDIA As Date Dim SNRPM As String Dim SDATA As Date SDATA = DTPicker1 SNRPM = Label9.Caption rsto.MoveMin Do While Not rsto.EOF If SNRPM = rsto!NR_CLI And rsto!HORA_INICIO >= SDATA Then STDIA = STDIA + rsto!TOTAL_DIARIO ''''''NO ACCESS TOTAL_DIARIO É CAMPO DATE. End If rsto.MoveNext Loop Label5.Caption = STDIA End Sub
|
|
|
SRick
|
LAVRAS MG - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 24/05/2011 21:11 hs
GALERA CONSEGUI, FIZ ASSIM: Private Sub CommandButton15_Click() '------------------------------------------------------------------------------ Dim totalhours As Long, totalminutes As Long Dim days As Long, hours As Long, minutes As Long Dim interval As Variant, j As Integer '==================================================== Dim STDIA As Date Dim SNRPM As String Dim SDATA As Date SDATA = DTPicker1 SNRPM = Label9.Caption rsto.MoveMin Do While Not rsto.EOF If SNRPM = rsto!NR_CLI And rsto!HORA_INICIO >= SDATA Then interval = interval + rsto!TOTAL_DIARIO End If rsto.MoveNext Loop totalhours = Int(CSng(interval * 24)) totalminutes = Int(CSng(interval * 1440)) hours = totalhours Mod 24 minutes = totalminutes Mod 60 Label5.Caption = Format(totalhours & ":" & minutes, "hh:nn") End Sub
|
|
|