| ||||
Re: Calcular media y mínimo los campos son de tipo numérico y son los siguientes: seco1a, seco1b, seco1c, seco2a, seco2b, seco2c, seco3a, seco3b, seco3c, seco4a, seco4b, seco4c, seco5a, seco5b, seco5c en total 15 campos. |
| ||||
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 |
| ||||
Re: Calcular media y mínimo resurjo este tema porque hasta ahora no he podido probarlo >.< Veamos, he hecho un módulo llamado media con la primera parte que tenía que copiar y después en unos campos de texto independientes he puesto lo último, el problema es que me ha dado error en un Me (Te lo marco en rojo) 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 Puede ser porque todavía están los campos en blanco? |
| ||||
Re: Calcular media y mínimo Es que tienes que copiar las funciones en el modulo del form, no en un modulo independiente. Es decir, en el codigo del form, ya que me hace referencia al formulario donde se esta ejecutando el codigo. Para tener esa funcion en un modulo independiente, habria que modificarla. Un saludo |
| ||||
Re: Calcular media y mínimo Bueno, ahora creo que lo he puesto correctamente (eso espero >.<), pero al abrir el formulario, el campo de media me sale #¡Núm! mientras que en el minimo me pone 0. Teniendo en cuenta que aún no he metido ningún dato. Esto significa que no he metido bien el módulo? |
| ||||
Re: Calcular media y mínimo bueno, en principio lo antes mencionado funciona. El problema es que quiero poner lo que aparece en ese campo en un informe. He intendo que en origen de datos, dándole a los puntitos, seleccionar el campo del formulario, pero me pone =[minimo] y en la vista del informe me pregunta cual es el minimo. Así que intente hacerlo de forma manual poniendo lo siguiente: =[Formularios]![certificado1]![minimo] Pero ahora cuando visualizo el informe me sale #¿Nombre? por lo que ya no se me ocurren más maneras de pasar ese campo al informe. alguna idea? |
| ||||
Re: Calcular media y mínimo En el cudro de texto Minimo del formulario certificado1 te sale el dato correcto??? Cuando ejecutas el informe el formulario esta abierto?? esto........ =[Formularios]![certificado1]![minimo] lo has puesto en el origen del control del cuadro de texto?? un saludo |
| ||||
Re: Calcular media y mínimo veamos, para probar que no me diese ningún error, puse unos cuantos números. en el formulario el mínimo ahora mismo lo tengo en 1. Pero cuando visualizo el informe, su campo aparece #¿Nombre?, así que no se. Puede ser porque no es un campo que se guarde? |