| |||
sumar cantidad actual base de datos hola, necesito de nuevo su ayuda, me podrian dar una idea de como hacerle para sumar campos numericos pero solo de la fecha actual, en la misma tabla se guardan muchos datos cada uno con su fecha, pero quiero sumar datos especificos, por ejemplo, sumar la cantidad total solo de los refrescos del pedido de hoy sabiendo que se manejan varios refrescos, pero todos los refrescos manejas la misma clave o id y el resultado guardarlo en otra tabla, algun tip? |
| |||
Respuesta: sumar cantidad actual base de datos Hola Puede ser algo así (para una BD Access):
Código:
Es solo una idea, con SUM puedes realizar la suma de un campo que quieras y con INTO pasar el resultado de la Select a otra Tabla. En el Where pones las condiciones de fecha y de la clave (en mi ejemplo que la clave comience por 12)SELECT SUM(cantidad) INTO TablaNueva FROM Tabla1 WHERE fecha=date() AND clave LIKE '12*' . --Saludos-- |
| |||
Respuesta: sumar cantidad actual base de datos gracias por tu respuesta, solo algo mas, por ejemplo la suma de todos los productos la quiero en otra tabla donde el campo se llame por ejemplo: REFRESCOS de 600 ml, y que ahi guarde el total de todos los refrescos de 600 ml de la otra tabla del dia, por ejemplo. tabla subproductos producto .......vuelta1.....vuelta 2....... vuelta 3 ...... total refresco1 ..........12.............21................12..... ...........45 refresco2 ...........1.............. 2 ............... 2......... ..... 5 tabla pedido producto .......vuelta1.....vuelta 2....... vuelta 3 ...... total refresco 600ml ....13.............23................14........... ...50 asi mas o menos. gracias Última edición por william_085; 28/05/2008 a las 10:37 |
| |||
Respuesta: sumar cantidad actual base de datos Hola No se me ocurre como puede hacerse en una sola select, pero se podría hacer en tres pasos. Primero creas una nueva Tabla von la instrucción CREATE TABLE, luego realizas una insert con los datos de las sumas y finalmente realizas un UPDATE para añadirle el producto. Luego si lo deseas puedes realizar un DROP TABLE para eliminar la tabla (si es una tabla temporal). Si trabajas en access puedes crear las consultas de una en una y luego unirlas con una Macro. El código sería algo así como:
Código:
Puede ser que algún otro usuario pueda realizar los tres pasos en uno solo, pero a mi no se me ocurre.'Para crear Tabla CREATE TABLE Pedido(Producto text, vuelta1 integer, vuelta2 integer, vuelta3 integer, total integer) 'Para insertar las sumas INSERT INTO Pedido ( vuelta1, vuelta2, vuelta3, total ) SELECT Sum(vuelta1), Sum(vuelta2), Sum(vuelta3), Sum(Total) FROM subproductos WHERE (((subproductos.Producto) Like 'refresco*')); 'Para meter el producto UPDATE pedido SET producto = 'refresco 600ml'; 'Si quieres borrar la Tabla drop table pedido --Saludos-- |
| |||
Respuesta: sumar cantidad actual base de datos y para ejecutar eso desde un clic lo hago con un recordset o con un objeto connection db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\PEDIDOS\pedidos\Imprimir\pedidos\sucursal2.mdb " & ";Persist Security Info=False" actual = Date rs.Open "select pedido,vuelta1,vuelta2,vuelta3 from pedidos where fecha = #" & Format(actual, "mm/dd/yyyy") & "# ", db, adOpenStatic, adLockOptimistic ?? gracias |
| |||
Respuesta: sumar cantidad actual base de datos Hola Las clausulas select las haces desde un RecordSet xq devuelve un resultado, en el caso de CREATE TABLE, INSERT o UPDATE no devuelve ningún resultado que puedes guardar en el RecordSet, sino que modifica directamente la BD. Por ello para ejecutarlos tendrías que poner db.Execute "..............". P.e.:
Código:
--Saludos--bd.Execute "INSERT INTO Pedido ( vuelta1, vuelta2, vuelta3, total ) SELECT Sum(vuelta1), Sum(vuelta2), Sum(vuelta3), Sum(Total) FROM subproductos WHERE (((subproductos.Producto) Like 'refresco*'))" . P.D. Para indicar la ruta de la bd te recomiendo que mires la opción app.path en lugar de utilizar la ruta completa, ya que si quieres instalar el programa en otro equipo pueda ser que no tenga las mismas rutas. |
| ||||
![]() Según lo que te comentó el compañero Insomnia debería ser:
Código:
db.Execute "UPDATE pedidos SET pedido = 'REFRESCO DE 600 ml'"
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| ||||
Respuesta: sumar cantidad actual base de datos Según lo que yo entendí de lo que publicó el compañero Insomnia deberías colocar:
Código:
SELECT Sum(vuelta1), Sum(vuelta2), Sum(vuelta3), Sum(Total) INTO Pedido ( vuelta1, vuelta2, vuelta3, total ) FROM subproductos WHERE (subproductos.ID=1) AND (subproductos.Fecha=Date());
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: sumar cantidad actual base de datos Hola En teoría debería quedar de la siguiente forma:
Código:
De esta forma creo que tendría que funcionar, al realizar las tres instrucciones a la vez puede que sea un problema de tiempo, es decir, que intente realizar el update antes de terminar con el insert, en este caso prueba a poner unos DoEvents después de cada línea.'Para crear Tabla bd.execute "CREATE TABLE Pedido(Producto text, vuelta1 integer, vuelta2 integer, vuelta3 integer, total integer)" 'Para insertar las sumas bd.execute "INSERT INTO Pedido ( vuelta1, vuelta2, vuelta3, total ) SELECT Sum(vuelta1), Sum(vuelta2), Sum(vuelta3), Sum(Total) FROM subproductos WHERE (((subproductos.Producto) Like 'refresco*'))" 'Para meter el producto bd.execute "UPDATE pedido SET producto = 'refresco 600ml'" --Saludos-- |
| |||
Respuesta: sumar cantidad actual base de datos lo tengo de esta forma: db.Execute "INSERT INTO Pedidos ( vuelta1, vuelta2, vuelta3, total)SELECT Sum(vuelta1), Sum(vuelta2), Sum(vuelta3), Sum(Total) From subproductos WHERE (((subproductos.id_subproducto) Like 'R600*'))" 'Para meter el producto db.Execute "UPDATE pedidos SET pedido = 'REFRESCO DE 600ml'" pero solo me guarda lo de 'REFRESCO DE 600ml'" los demas campos aparecen vacios. no se que este pasando, por ejemplo cada refresco tiene como ID R600 y quiero que de la ID se base para hacer la suma, pero que solo se haga la suma de la fecha actual, no se que cosa este haciendo mal. tabla subproductos id_subproducto.....producto .......vuelta1.....vuelta 2....... vuelta 3 ...... total R600.....................refresco1 ..........12.............21................12..... ...........45 R600.....................refresco2 ...........1.............. 2 ............... 2......... ..... 5 tabla pedido clave.....producto .......vuelta1.....vuelta 2....... vuelta 3 ...... total R600.....refresco 600ml ....13.............23................14........... ...50 |
| |||
Respuesta: sumar cantidad actual base de datos hola, lo hise de esta forma: db.Execute "INSERT INTO PEDIDOS (clave,sucursal,pedido,vuelta1,vuelta2,vuelta3,fec ha,total) SELECT id_subproducto,sucursal, producto,Sum(vuelta1) as sumita1, Sum(vuelta2) as sumita2, Sum(vuelta3) as sumita3, fecha, Sum(total) as totalito FROM subproductos WHERE (subproductos.id_subproducto Like 'R600') and (subproductos.fecha Between datevalue('" & hoy & "') and datevalue('" & hoy & "')) Group by fecha,id_subproducto,sucursal, producto" me suma bien y todo, el detalle es que solamente me suma bien cuando el producto se llama igual y quiero que se guie del la clave o id y que me la guarde en la otra tabla como refresco de 600 ml asi como este ejemplo: tabla subproductos id_subproducto.....producto .......vuelta1.....vuelta 2....... vuelta 3 ...... total R600.....................refresco1 ..........12.............21................12..... ...........45 R600.....................refresco2 ...........1.............. 2 ............... 2......... ..... 5 tabla pedido clave.....producto .......vuelta1.....vuelta 2....... vuelta 3 ...... total R600.....refresco 600ml ....13.............23................14........... ...50 me podrian hechar una mano por favor? |
| |||
Respuesta: sumar cantidad actual base de datos quedo asi al ultimo db.Execute "INSERT INTO PEDIDOS (clave,sucursal,vuelta1,vuelta2,vuelta3,fecha,tota l) SELECT id_subproducto,sucursal,Sum(vuelta1) as sumita1, Sum(vuelta2) as sumita2, Sum(vuelta3) as sumita3, fecha, Sum(total) as totalito FROM subproductos WHERE (subproductos.id_subproducto Like 'R600') and (subproductos.fecha Between datevalue('" & hoy & "') and datevalue('" & hoy & "')) Group by fecha,id_subproducto,sucursal" db.Execute "UPDATE pedidos SET pedido = 'REFRESCO DE 600ml' WHERE clave Like 'R600'" pero ahora como le hago para saber si ya existe, y si ya existe que solo me lo modifique, pero solo los de la fecha actual. me urge gracias |
| |||
Respuesta: sumar cantidad actual base de datos Hola Todo depende de si quieres guardar mas de un registro en la tabla pedido, si solo quieres guardar un registro cada vez y utilizar esa tabla como tabla temporal, lo que puedes hacer es antes de nada eliminar la tabla pedidos existente (DROP) y luego volver a crear, insertar y modificar. De esta forma primero eliminaría la tabla existente y luego crearía otra nueva tabla con un único registro. --Saludos-- |
| |||
Respuesta: sumar cantidad actual base de datos la tabla se crea antes, en esa tabla se van aguardar todos los pedidos en general, pero de algunas cosas solo se van a simplificar, como en el ejemplo anterior de los refrescos, si piden 1000 refrescos, en la tabla pedidos va a aparecer r600 refrescos de 600 y la cantidad total de los 1000 refrescos. es que si agrego refrescos nuevos del dia actual y ya tengo un registro de este dia, me crea otro registro igual, me hace la suma y todo pero no quiero tener 2 registos de r600 refrescos de 600, solo 1. comprobar si ya existe y si ya existe que solo modifique y si no, que cree el registro. por favor a ver si me pueden hechar la mano |