Access - MEDIA

 
Vista:

MEDIA

Publicado por JOSUE (1 intervención) el 14/11/2006 12:07:47
Buenas:
Quiero hacer una media entre 10 campos concretos. Seria algo asi sumatorio delos campos mayores de 0, dividido entre el numero de campos mayores de 0. Que tendria que hacer??
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
Imágen de perfil de Alejandro

Cálculo de la media entre campos mayores de 0

Publicado por Alejandro (4142 intervenciones) el 28/07/2023 16:46:11
Para calcular la media entre 10 campos concretos en Access, teniendo en cuenta solo aquellos campos que sean mayores que 0, puedes seguir estos pasos:

1. Abre tu base de datos de Access y ve al lugar donde deseas realizar el cálculo, ya sea en un formulario o en una consulta.

2. En el lugar donde quieres mostrar el resultado de la media, agrega un nuevo campo o control donde se mostrará el resultado.

3. Utiliza la función "IIf" para evaluar si cada campo es mayor que 0 y devolver el valor del campo o 0 en función de esa evaluación.

4. Luego, utiliza la función "Sum" para sumar los valores obtenidos en el paso anterior.

5. Finalmente, utiliza la función "Count" para contar el número de campos que cumplen la condición de ser mayores que 0.

6. Divide la suma obtenida en el paso 4 entre el número de campos obtenido en el paso 5 para obtener la media.

El código VBA sería algo como esto:

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
Public Function CalcularMedia() As Double
    Dim suma As Double
    Dim contador As Integer
 
    suma = 0
    contador = 0
 
    ' Sumar los valores de los campos mayores que 0
    suma = suma + IIf(Campo1 > 0, Campo1, 0)
    suma = suma + IIf(Campo2 > 0, Campo2, 0)
    suma = suma + IIf(Campo3 > 0, Campo3, 0)
    ' Continuar con el resto de los campos hasta Campo10
 
    ' Contar el número de campos mayores que 0
    contador = contador + IIf(Campo1 > 0, 1, 0)
    contador = contador + IIf(Campo2 > 0, 1, 0)
    contador = contador + IIf(Campo3 > 0, 1, 0)
    ' Continuar con el resto de los campos hasta Campo10
 
    ' Calcular la media
    If contador > 0 Then
        CalcularMedia = suma / contador
    Else
        ' Si no hay campos mayores que 0, devuelve 0 o el valor que desees
        CalcularMedia = 0
    End If
End Function

Reemplaza "Campo1", "Campo2", "Campo3", etc., con los nombres reales de los campos que deseas utilizar en el cálculo.

Luego, puedes llamar a esta función desde un control en un formulario, o utilizarla en una consulta para obtener el resultado de la media entre los campos concretos mayores que 0.

Espero que esto te ayude a calcular la media que necesitas en tu base de datos de Access. ¡Buena suerte!
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