Imprimir página | Cerrar ventana

#ERROR en suma de subformulario

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86913
Fecha de impresión: 26/Marzo/2026 a las 15:54


Tema: #ERROR en suma de subformulario
Publicado por: Tamara
Asunto: #ERROR en suma de subformulario
Fecha de publicación: 22/Abril/2024 a las 16:14
¡Buenos días!

Estoy empezando recién en el mundo de ACCESS, por lo que mis conocimientos son muy básicos, me disculpo de antemano si hay términos que no están bien escritos.

Estoy armando un formulario gracias a los tutoriales que he encontrado en la red, e iba bien hasta el momento que quise hacer una suma en un subformulario.

Primero en el formulario logro que me filtre por "partidas" especificas dentro de una lista de partidas, eso se muestra en un subformulario llamado "SF_CONSULTA_OFERTAS".

Sin embargo, al colocar "Texto12=Suma([AUX_SF2])" al pie del formulario me da #ERROR (esto lo leo cuando coloco esta información en el formulario (fuera del subformulario), como "=[SF_CONSULTA_OFERTAS].[Formulario]![Texto12]". (Ningún valor de los que salen en la lista del subformulario es $0 o nulo).

He intentado varias de las soluciones que se encuentran por ahí, pero nada me ha dado resultado. ¿Alguna solución posible?

Quedo muy atenta, muchas gracias de antemano.
Un saludo.



Respuestas:
Publicado por: xavi
Fecha de publicación: 22/Abril/2024 a las 19:01
Hola Tamara y bienvenida al foro,

Entiendo que el problema lo tienes cuando el subformulario no contiene datos y, por tanto, el control que pretendes sumar es inexistente.

En ese caso deberías utilizar una función SiInm (Iif) para evaluar si la suma devuelve error y, de ser así, devolver 0. Para evaluar el error necesitas la función IsError.

En el origen del control:
=SiInm(IsError(Suma([AUX_SF2]);0)

Sustituye los ; por , si tu configuración lo requiere.

Un saludo




-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Tamara
Fecha de publicación: 22/Abril/2024 a las 19:27
Muchas gracias por la respuesta. La verdad es que no, no es cuando hay un valor nulo, (no tengo valores nulos en los resultados del subformulario), es solo al sumar. Hay algo que estoy colocando mal, imagino.

Para probar si había un problema de formato o algo por el estilo, coloqué en el pie del formulario solo esto: "Texto8=[Texto10]". Texto10 es donde se encuentra mis valores que quiero sumar.

Y fuera, en el formulario, coloco "=[SFOFERTAS].[Formulario]![Texto8]" y logro que aparezca el valor de la fila seleccionada, así que el formulario "trae un valor". El problema es cuando agrego la función de la suma "=Suma([Texto10])"

Ahí me da #Error.

Intenté con la solución que me indicas, pero me da un error que dice que contiene una función con un número incorrecto de argumentos, imagino que mi versión de access requiere algún argumento más, que buscaré enseguida.

Muchas gracias nuevamente. De momento sigo con el error.


Publicado por: xavi
Fecha de publicación: 22/Abril/2024 a las 19:34
Vale, te propongo otra cosa: definamos correctamente el problema.

Tienes un formulario principal. ¿Nombre?
Tienes un formulario que utilizas como subformulario que se supone se llama"SF_CONSULTA_OFERTAS".
¿Cómo se llama el control subformulario que contiene ese formulario dentro del formulario principal?
El subformulario, ¿se muestra como formulario simple o formulario continuo?
¿Cómo se llama el control que contiene el valor que deseas sumar?
¿Cómo se llama el control del formulario principal dónde deseas ver el resultado?

Con esos datos ya podemos empezar a ver algo.

Un saludo




-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: Tamara
Fecha de publicación: 22/Abril/2024 a las 20:58
Muchísimas gracias por el interés en ayudar. Sabes que empecé todo de nuevo, viendo el tutorial, para que no se me quedara nada pegado mal hecho y al parecer esta vez lo hice bien, porque por fin suma lo que quiero que sume. Algo tengo que haber puesto mal en algún momento y quedó metido por ahí.

Te agradezco millones la buena disposición.

Un saludo desde Chile.



Imprimir página | Cerrar ventana