Visual Basic para Aplicaciones - Promedio minutos MSFlexGrid1

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

Promedio minutos MSFlexGrid1

Publicado por Juan Diego (2 intervenciones) el 29/03/2018 00:11:45
Hola,

Soy principiante y estoy desarrollando una apliccion en visual basic 6,, estoy intentadno sacar el promedio de minutos de un campo MSFlexGrid1, en formato "hh:mm:ss"... este codigo lo utilzo en otra apliacion con numeros y me funciona bien pero con minutos no consigo pasar el resultado a minutos... he probado de varias maneras y no lo consigo...alguien me puede echar un cable?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public total01 As Variant
Public PromTPru As Variant
 
total01 = "00:00:00"
total01 = Format(TimeValue(total01), "hh:mm:ss")
PromTPru = "00:00:00"
PromTPru = Format(TimeValue(PromTPru), "hh:mm:ss")
 
MSFlexGrid1.Col = 7
i = 0
For n = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.Row = n
i = 1 + i
total01 = TimeValue(total01) + TimeValue(MSFlexGrid1)
Next n
PromTPru = total01 \  i
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Promedio minutos MSFlexGrid1

Publicado por Juan Diego (2 intervenciones) el 02/04/2018 21:10:39
Bueno al final lo he conseguido...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Public Sub SeparadorHHMMSS()
Dim cadena As String
Dim i As Integer
Dim lugar As Integer
Dim separador As String
Dim Dis(0 To 2) As String
 
separador = ":"
        cadena = total01
        i = 0
        lugar = InStr(cadena, separador)
        Do While lugar <> 0
        Dis(i) = Left(cadena, lugar - 1)
        Horas = Dis(0)
        cadena = Mid(cadena, lugar + 1)
        i = i + 1
        lugar = InStr(cadena, separador)
        Loop
        Dis(i) = cadena
        Horas = Dis(0) 'Separamos horas
        Minutos = Dis(1) 'Separamos minutos
 
End Sub
 
total01 = "00:00:00"
total01 = Format(TimeValue(total01), "hh:mm:ss") 'Promedio Of.
 
frmConsulta.MSFlexGrid1.Col = 7 'obtenemos los registros del campo seleccionado (Tpru)
i = 0
For n = 1 To frmConsulta.MSFlexGrid1.Rows - 1
	frmConsulta.MSFlexGrid1.Row = n
	i = 1 + i
	total01 = TimeValue(total01) + TimeValue(frmConsulta.MSFlexGrid1)
Next n
 
SeparadorHHMMSS 'Separamos los horas, minutos 
 
PromMin = (Val(Horas * 60) + Val(Minutos)) \ i 'Calculamos el promedio en minutos
Horas1 = Val(PromMin \ 60) 'pasamos los minutos a horas para el formato hh:mm:ss
Minutos1 = (Val(PromMin) - Val(Horas1) * 60) 'obtenemos el resto de minutos para el formato hh:mm:ss
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar