Access - #Error al hacer una suma teóricamente sencilla.

 
Vista:

#Error al hacer una suma teóricamente sencilla.

Publicado por guercab (3 intervenciones) el 02/05/2012 20:26:30
Hola y gracias anticipadas.
Quiero hacer una factura, para la cual por cada registro me calcula su total y al final quiero un neto que es la suma de todos los totales del registro.

SITUACIÓN:
Estoy dentro de un Formulario con los campos de una tabla (VENTAS).
He creado el campo "IMPORTE", es un campo que no está en la tabla, lo he creado en el formulario como Cuadro de Texto.
Al rellenar los campos del registro, se me calcula el "IMPORTE" con la siguiente expresión en Origen de control: =SiInm([CANTIDAD]>0;[CANTIDAD]*([CALCULO_PVP]-([CALCULO_PVP]*[DTO]/100)))
Así consigo el total de ese registro ---(cantidad * precio - dto)=IMPORTE---
Esto me lo hace bien.

PROBLEMA:
En el pie del formulario quiero calcular el "Neto". Para ello quiero sumar los "IMPORTE" de todos los registros que hay en el formulario.
Le pongo como Origen de control: =Suma(nz([IMPORTE];0))
El resultado siempre es: #Error

PRUEBAS:
He puesto el campo con la suma dentro del Detalle del formulario = #Error
He sumado el campo "CANTIDAD" (que lo relleno yo y me lo graba en la tabla Ventas) = #Error

ACLARACIONES:
El campo "IMPORTE" y "Neto" son del tipo Euro.
El campo "IMPORTE" no pertenece a la tabla VENTAS. Lo creo como Cuadro de Texto en el Formulario.

Nuevamente gracias.
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
sin imagen de perfil
Val: 2
Ha aumentado su posición en 32 puestos en Access (en relación al último mes)
Gráfica de Access

#Error al hacer una suma teóricamente sencilla.

Publicado por conrrad (77 intervenciones) el 02/05/2012 22:46:47
Tienes dos formas de hacerlo. Efectivamente, la suma no te sale porque no es un campo de la tabla, pero podrías poner esto:

=suma(SiInm([CANTIDAD]>0;[CANTIDAD]*([CALCULO_PVP]-([CALCULO_PVP]*[DTO]/100))))
Creo que debería de funcionar.

Otro método que yo empleo a veces es usar, como origen de datos del formulario, en vez de la tabla, una consulta de la tabla y en ella agrego los campos calculados por lo que al ponerlos en el formulario ya tienen un origen, el de la consulta. De esta manera, el sumario total te funcionaría poniendo =Suma(Importe)

Tu eliges.
Un saludo.
---------------------------------------------
www.accessyexcel.com
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

#Error al hacer una suma teóricamente sencilla.

Publicado por guercab (3 intervenciones) el 03/05/2012 16:28:36
La primera forma, ya la probé y no me dio resultado.

La segunda forma, no lo tengo muy claro.
El tema es que el formulario accede directamente a la tabla "VENTAS" porque estoy metiendo datos en ella desde el formulario. Si apunto a una consulta en vez de a la tabla, pienso que no podré meter datos, que yo sepa, la consulta solo sirve para mostrar datos.

Supongo que los tiros podrían ir por crear una consulta donde se calcule el campo "Neto", y luego poner un Cuadro de Texto en el Formulario con la función 'Dbúsq' pero el problema sería cómo hacer para que se actualice la consulta y dicho Cuadro de Texto cada vez que meta un nuevo concepto (IMPORTE) en la factura.

Por el momento me temo que sigo con el problema.
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
sin imagen de perfil
Val: 2
Ha aumentado su posición en 32 puestos en Access (en relación al último mes)
Gráfica de Access

#Error al hacer una suma teóricamente sencilla.

Publicado por conrrad (77 intervenciones) el 03/05/2012 20:19:39
A ver, llevas los dos hilos abiertos en este foro y en el del búho. El el otro ya te contesté sin leer este post, voy a intentar aclararlo aquí.

El subformulario accede directamente a la tabla VENTAS.
- Accede a las propiedades del subformulario y vas a Pestaña Datos, Origen del registro. Donde pone TuTablaVentas verás a la derecha un botón con tres puntitos. Si le pulsas te preguntará si quieres crear una consulta basada en la tabla, le dices que SI.
- Se abre el generador de consultas con tu tabla VENTAS, selecciona todos los campos y añade los calculados. Para añadir los calculados en una columna nueva solo tienes que poner un nombre, luego los dos puntos, y a continuación tu formula, mas o menos así Neto: SiInm([CANTIDAD]>0;[CANTIDAD]*([CALCULO_PVP]-([CALCULO_PVP]*[DTO]/100)))

Ahora, si ejecutas la consulta, veras que tienes una nueva columna con tu neto. La consulta, al depender de una sola tabla, sigue siendo editable.
Bien, Cierra la consulta y dale a guardar. Ahora el origen de tu subformulario en todo el tocho de consulta. Una consulta que SOLO encontrarás ahí en ese subformulario.

Dicho esto, tu campo calculado del subformulario, en vez de tener como origen toda la salchicha calculada, cámbiaselo a neto de tu consulta.

Y el campo calculado del pie del Subformulario que sea =Suma(neto)

Con eso, no debes tener problemas ninguno.

---------------------------------------------
www.accessyexcel.com
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

#Error al hacer una suma teóricamente sencilla.

Publicado por Luis Hernández M. (1 intervención) el 11/03/2014 20:33:26
Hola

No se si ya recibiste respuesta. igual la dejo por si alguien consulta

me dan pena los "expertos" que ademas de que no responden bien... se ponen moñudos.

cuando tu quieres sacar la sumatoria de una columna de inicio este campo tiene un valor nulo por lo que no se puede sumar y con un nulo que este dentro de todos te manda un error y como cada vez que agregas un registro el sistema te va dando uno nuevo... pues siempre tienes uno nulo por eso: siempre tienes error. el detalle es sustituir ese nulo por un 0

aqui ejemplos de solución:

=Nz(Suma([subtotal]),0)

=Nz([Formularios]![Facturas TIT]![Imp_Fle_Fac],0)

=Nz(([Texto34]+[Texto36]),0)

En el primero saque la suma de las partidas de mi factura

la segunda traje un dato de un formulario (las operaciones las hice en un subformulario)

la tercera es la suma de el subtotal de la factura + el flete (datos del formulario)

Espero te sirva a ti o a quien lo requiera.

saludos
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

#Error al hacer una suma teóricamente sencilla.

Publicado por Raul (1 intervención) el 26/07/2016 21:11:46
Usualmente este problema lo he solucionado multiplicando por 1 la expresión que me originó el error
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
sin imagen de perfil
Val: 2
Ha disminuido su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

#Error al hacer una suma teóricamente sencilla.

Publicado por Gustavo (1 intervención) el 04/06/2019 00:34:57
Supongo que este es un error en la funcionalidad de access. Estoy utilizando hace años la versión 2010 y se me ha presentado el problema en varias oportunidades. La solución sin ninguna lógica aparente, lo he resuelto como plantea Raul, multiplicar por 1 la suma.
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