Ver Mensaje Individual
  #8 (permalink)  
Antiguo 08/04/2008, 02:46
Avatar de Taribo007
Taribo007
 
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 17 años, 4 meses
Puntos: 18
Re: Calcular media y mínimo

Copiate estas funciones en el modulo del formulario:

Public Function MediaEnForm() As Double
Dim arrayControles() As Variant
Dim i As Integer
Dim CuantosValores As Integer
Dim SumaValores As Double

arrayControles = Array("seco1a", "seco1b", "seco1c", "seco2a", "seco2b", "seco2c", "seco3a", "seco3b", "seco3c", _
"seco4a", "seco4b", "seco4c", "seco5a", "seco5b", "seco5c")

For i = 0 To UBound(arrayControles)
If Nz(Me.Controls(arrayControles(i)), 0) <> 0 Then
CuantosValores = CuantosValores + 1
SumaValores = SumaValores + Me.Controls(arrayControles(i))
End If
Next

MediaEnForm = SumaValores / CuantosValores
End Function

Public Function MinimoEnForm() As Double
Dim arrayControles() As Variant
Dim i As Integer
Dim Minimo As Double

arrayControles = Array("seco1a", "seco1b", "seco1c", "seco2a", "seco2b", "seco2c", "seco3a", "seco3b", "seco3c", _
"seco4a", "seco4b", "seco4c", "seco5a", "seco5b", "seco5c")

For i = 0 To UBound(arrayControles)
If Nz(Me.Controls(arrayControles(i)), 0) <> 0 Then
If Nz(Minimo, 0) = 0 Then
Minimo = Me.Controls(arrayControles(i))
ElseIf Me.Controls(arrayControles(i)) < Minimo Then
Minimo = Me.Controls(arrayControles(i))
End If
End If
Next

MinimoEnForm = Minimo
End Function

Y en los TextBox independientes donde quieres mostrar la media y el minimo, pon lo siguiente en su origen de control:

=MinimoEnForm()
=MediaEnForm()

Un saludo