Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

update con suma de valores de otra tabla (Access)

Estas en el tema de update con suma de valores de otra tabla (Access) en el foro de Bases de Datos General en Foros del Web. Buenas, tengo 3 tablas. Compras. Producto. Ventas. En las 3 tengo un peso. Compras.Peso Compra Producto.Peso Stock Ventas.Peso ventas. Lo que quiero es que Producto.Peso ...
  #1 (permalink)  
Antiguo 07/04/2015, 10:44
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 8 meses
Puntos: 31
update con suma de valores de otra tabla (Access)

Buenas, tengo 3 tablas.

Compras.
Producto.
Ventas.

En las 3 tengo un peso.
Compras.Peso Compra
Producto.Peso Stock
Ventas.Peso ventas.

Lo que quiero es que Producto.Peso Stock sea la suma de todos los valores de Compras.Peso Compra menos la suma de Ventas.Peso ventas siempre que el ID del producto coincida.
  #2 (permalink)  
Antiguo 07/04/2015, 10:49
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: update con suma de valores de otra tabla

Cita:
Iniciado por Kritik Ver Mensaje
Buenas, tengo 3 tablas.

Compras.
Producto.
Ventas.

En las 3 tengo un peso.
Compras.Peso Compra
Producto.Peso Stock
Ventas.Peso ventas.

Lo que quiero es que Producto.Peso Stock sea la suma de todos los valores de Compras.Peso Compra menos la suma de Ventas.Peso ventas siempre que el ID del producto coincida.
Yo quiero que pongas que es lo que llevas de tu query, y un ejemplo de los datos que estas usando.........se puede???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 07/04/2015, 11:07
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: update con suma de valores de otra tabla

La consulta es en Access versión 2010. El código que tengo es el siguiente:

Código SQL:
Ver original
  1. UPDATE Producto SET Producto.[Peso total] = SUM([Compras].[Peso Compra]);

Y el error que me da es:

"Ha intentado ejecutar una consulta que no incluye la expresión especificada "Peso total" como parte de una función de agregado.

De momento lo único que estoy intentando es sumar todos los pesos de compra y meter esa suma en "Peso total"

Última edición por gnzsoloyo; 07/04/2015 a las 11:13
  #4 (permalink)  
Antiguo 07/04/2015, 11:13
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: update con suma de valores de otra tabla

Eso es de access, aqui estas en un foro de sql server....

ademas la consulta esta mal:

Código SQL:
Ver original
  1. UPDATE Producto SET Producto.[Peso total] = SUM([Compras].[Peso Compra]);

para hacer un update de esa manera se hace

Código SQL:
Ver original
  1. UPDATE producto ser
  2. producto.peso total=total
  3. FROM
  4. (
  5. SELECT SUM(peso compra), id_producto FROM compras GROUP BY producto
  6. ) AS t1 WHERE t1.producto=producto.id_producto

Aclaro la sentencia es para sql server, puede ser que no funcione en Access(wakala)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 07/04/2015, 11:20
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: update con suma de valores de otra tabla

No me funciona... mierda Access...

Copio la consulta a general bases de datos.
  #6 (permalink)  
Antiguo 07/04/2015, 11:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: update con suma de valores de otra tabla

No copies. Se mueve.

Movido a Base de Datos General.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 08/04/2015, 07:03
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: update con suma de valores de otra tabla (Access)

He creado 2 registros. 1 compra de 200g de un producto. Y otro registro de 1 venta de 20g del mismo producto. Así pues, mi stock debería de ser de 180g.

He creado 2 consulas. Una es la siguiente:
Código SQL:
Ver original
  1. SELECT SUM([Compras]![Peso Compra]-[Ventas]![Peso Venta]) AS Suma
  2. FROM (Producto INNER JOIN Compras ON Producto.Id_producto = Compras.[ID-PROC])
  3.    INNER JOIN Ventas ON Producto.Id_producto = Ventas.[ID-PROC];
Esta consulta me da una tabla de 1x1 (1 dato) de 180. En efecto, la consulta entonces funciona.

Luego me hago otra consulta, que es la siguiente:
Código SQL:
Ver original
  1. UPDATE Producto SET [Peso total] = 200;
La ejecuto, y me voy a la tabla producto y buala!! funciona. Ahora tengo un peso total de 200.

Y ahora cojo de esta segunda consulta y borro el 200, y abro paréntesis y cierro paréntesis. Y entre los 2 paréntesis escribo la primera consulta. quedando de la siguiente manera:

Código SQL:
Ver original
  1. UPDATE Producto SET [Peso total] = (SELECT SUM([Compras]![Peso Compra]-[Ventas]![Peso Venta]) AS Suma
  2. FROM (Producto INNER JOIN Compras ON Producto.Id_producto = Compras.[ID-PROC])
  3. INNER JOIN Ventas ON Producto.Id_producto = Ventas.[ID-PROC]);
Y vaya!! No me funciona. Me salta un error que me dice "La operación debe de usar una consulta actualizable"

Última edición por gnzsoloyo; 08/04/2015 a las 07:33 Razón: MAL etiquetado
  #8 (permalink)  
Antiguo 08/04/2015, 07:36
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: update con suma de valores de otra tabla (Access)

Tu problema es para Google: https://support.microsoft.com/es-ar/kb/175168/es
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 08/04/2015, 07:40
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: update con suma de valores de otra tabla (Access)

y si pruebas con algo como esto:


Código SQL:
Ver original
  1. UPDATE Producto SET [Peso total] = tabla.suma
  2. FROM
  3. (SELECT SUM([Compras]![Peso Compra]-[Ventas]![Peso Venta]) AS Suma
  4. FROM (Producto INNER JOIN Compras ON Producto.Id_producto = Compras.[ID-PROC])
  5.    INNER JOIN Ventas ON Producto.Id_producto = Ventas.[ID-PROC]
  6. ) AS tabla WHERE producto.id=suma.id
;
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #10 (permalink)  
Antiguo 08/04/2015, 10:25
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: update con suma de valores de otra tabla (Access)

Cita:
Iniciado por Libras Ver Mensaje
y si pruebas con algo como esto:


Código SQL:
Ver original
  1. UPDATE Producto SET [Peso total] = tabla.suma
  2. FROM
  3. (SELECT SUM([Compras]![Peso Compra]-[Ventas]![Peso Venta]) AS Suma
  4. FROM (Producto INNER JOIN Compras ON Producto.Id_producto = Compras.[ID-PROC])
  5.    INNER JOIN Ventas ON Producto.Id_producto = Ventas.[ID-PROC]
  6. ) AS tabla WHERE producto.id=suma.id
;
La sintaxis es incorrecta. Menudo lio.
  #11 (permalink)  
Antiguo 08/04/2015, 10:35
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: update con suma de valores de otra tabla (Access)

por eso access es una herramienta de oficina.....

http://stackoverflow.com/questions/1...-with-subquery
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #12 (permalink)  
Antiguo 08/04/2015, 12:58
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 8 meses
Puntos: 31
Respuesta: update con suma de valores de otra tabla (Access)

Mi inglés está súper-abandonado y no entendí apenas nada de ese foro inglés. Pero es cierto. A mí Access me parece una herramienta para hacer cosas muy, muy simples. BBDD muy sencillitas y a la mínima complicación da problemas como este que estoy teniendo yo ahora.

Yo para una aplicación personal que estoy haciendo estoy utilizando SQL Server, y para diseñarme una vista he hecho una consulta que 2X líneas con mogollón de JOINS, INNER JOINS, etc... 2X líneas que me ocupa... y funciona perfectamente. Es una maravilla :D

Sin embargo estoy haciendo un curso y aunque más adelante nos pegaremos con Oracle de momento hemos empezado con Access, y necesito esto para una aplicación que nos va a contar bastante para la nota del módulo.

Etiquetas: sql-server, suma, tabla, update
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:42.