Home Foros Foro dudas Foro de Access Crear función promedio que se ejecute en campos sea de tabla o formulario.

Crear función promedio que se ejecute en campos sea de tabla o formulario.

Viendo 2 entradas - de la 1 a la 2 (de un total de 2)
  • Autor
    Entradas
  • #11313

    Antonio Aguiar
    Participante

    Saludos, necesito ejecutar una función promedio. Tengo una tabla con 5 campos de notas N1, N2, N3, N4, N5, donde se ponen notas no mayores a 10 ej: N1, N2, N3, N4, N5, si todos los campos tubieran valores el promedio en un campo calculado sería fácil (N1+N2+N3+ N4+N5)/5, pero no necesariamente todos los campos tiene sus notas por decir algo solo se ha registrado 3 de las 5 notas, ahi el ejemplo anterior no queda bien porque dividiría para 5 las 3 notas, access tiene la función DProm pero no puedo implementarla ni en la tabla ni en un formulario pues con estos dos objetos puedo llenar mi tabla notas, he tratado en una consulta y solo me sale promedios con registros de un solo campo.

    ¿Cómo podría salvar este problema?, desde ya estaré muy agradecido por su pronta respuesta.

    Si fuera tan amable de enviar al email.

    #11340

    Eve Rivas
    Participante

    Hola Antonio: La solución que te propongo es usar el if anidado.  Usando la función SiInm en una consulta, es decir haces la consulta con tus notas1,nota2,nota3,nota4,nota5 y en la siguiente columna un dato calculado evaluando si cada nota es mayor a cero (te copio la inicial):  Prom: SiInm(([Nota1]>0) Y ([Nota2]>0) Y ([Nota3]>0) Y ([Nota4]>0) Y ([Nota5]>0);([Nota1]+[Nota2]+[Nota3]+[Nota4]+[Nota5])/5;0) esta seria la primer parte donde se evalúa si las 5 notas tienen valor, debes continuar donde aparece con la misma formula hasta que llegues a 2 y en cada una divides dentro de un numero menos y al final quedaría Nota1.  Esto tiene el margen de error si alguna nota tiene valor cero, en tal caso deben tener valor nulo pero agregar la funcion Nz.  Espero haberte ayudado.  Saludos de Guatemala.

Viendo 2 entradas - de la 1 a la 2 (de un total de 2)
  • Debes estar registrado para responder a este debate.