Sumar Columnas de Un DBGRIB
Bueno Amigos del Club os vuelvo a molestar con una pregunta
tengo un gridb el cual mantiene el detalle de un pedido pero necesito sumar el campo de precio total del producto, la cual se encuentra en una columna del dbgrib, quisiera q me guiaran de como puedo sumar las columnas del grid y como puedo hacer para que cuando el usuario desee quitar un producto de la lista se vuelva a calcular el precio a pagar. muchas gracias de antemano cancerbero |
|
sumar columnas
bueno lei el hilo pero te cuento q no entendi mucho, solo necesito saber como hacer para sumar una columna del dbgrib en la cual tengo el costo del producto y se hace una lista la cual deseo sumar, y veo q despues restar no sera muy dificil para mi, ya cree un dato calculado en la consulta que estoy utilizando aqui les copio el codigo.
with dm.qrydetalle do begin if active then Close; //Agregué aquí sql.Clear; // y aquí SQL.Add('SELECT * FROM detalle'); SQL.Add('WHERE detalle.idproforma ='+dbedit1.Text); Open; if not IsEmpty then begin dbgrid4.SetFocus; end else begin application.MessageBox('NO SE ENCUENTRAN PRODUCTOS EN EL DETALLE', 'MENSAJE DE INFORMACION', MB_OK); end; //if cliente is not empty (aquí te sobraba un "end" end; esta la relaciono a un DBGRIB en la cual la columna detalle.preciototal es la q debo sumar, para luego colocar el resultado en un edit, como te dije ya cree en la consulta un campo calculado de nombre SUMATOTALDET pero nose donde realizar la operacion para poder sumar la columna q me intereza del dbgrib. cancerbero |
Saludos
Cita:
Aunque lo mejor es que hicieras una sentencia con los campos sumados.
|
Solo debo sumar un campo
Saludos vtdeleon
Bueno si intente eso de sumar el campo directamente pero he aqui el dilema como hago para sumar solo un campo de la tabla, el cual guarda la suma total del detalle de compra. bueno ese es el problema q tengo y luego este dato bueno lo tengo q presentar en un componente Edit pero eso si necesito sumar el dato y a la vez q el usuario quite un producto del detalle este resultado se vuelva a calcular, gracias de antemano por la ayuda |
Checa Esto....
Bajate los RxLib, alli viene un componente que se llama MemoryData, este funciona igual que una Table de la paleta BDE, pero con la diferencia que es en memoría, en primer lugar tienes que declarar la estructura del rxMemoryData igual que tu detalle, y cada vez de que vayas INSERTANDO (OnBeforeInsert) , MODIFICANDO(OnBeforePost) Y BORRANDO
(OnAfterDelete) que espero estes usando un DadaSet ó ClientDataset, llamas un procedimiento donde barres dicho rxMemoryData para sacar el Total de algún campo y mostrarlo ya sea añadiendo el TOTAL en un campo Calculado ó pasandolo directamente en algun Edit. Espero me haya explicado, cualquier duda estamos en contacto....:) |
me olvidaba
Bueno escuche algo de las Librerias Rx pero estoy trabajando con una base de datos MSACCESS la cual la conecto por medio de los componentes ado, es el problema q no se si las LIbRx trabajan con ADO igual q con los componentes DBE.
:confused: gracias de antemano |
Cita:
a) Campo calculado para el DBGrid b) Suma total (Suma de los campos calculados) Soluciones: S1) Lo que te han indicado para el campo calculado S2) Una nueva consulta que te devuelva el acumulado de todos los campos calculados. Como no se pueden usar campos calculados en una Query, lo que tienes que hacer es lanzar una SQL que te devuelva el total En el evento AfterScroll de tu tabla algo parecido a esto
Cada vez que ocurra una actualización en el detalle, llamas a este evento y te refrescará el total. un saludo. |
La franja horaria es GMT +2. Ahora son las 10:38:13. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi