Hola amigo del foro, como siempre espero su colaboracion
mi problema es el siguiente estoy asiendo un sistema de contabilidad y me pidieron q haga un formulario donde ya se tenga en una grilla las cuentas contables y en la columna del debe y haber se registre los monton , hice que el dbgrid sea editable con updatesql
Mi problema es que quiero sumar los datos que se registren en el dbgrid pero que todabia no estan en la base de datos y para eso utilice el siguiente codigo
Código Delphi
[-]
procedure TF_Asiento_Similar.JvDBGrid1ColEnter(Sender: TObject);
var debe,haber:real;
begin
modulo_contabilidad.MDOQ_Similar.DisableControls;
if ((modulo_contabilidad.mdoq_similar.FieldByName('debe').AsFloat>0)and(modulo_contabilidad.mdoq_simila r.FieldByName('haber').AsFloat>0)) then
showmessage('solo una tiene q tener valor');
debe:=0;
haber:=0;
modulo_contabilidad.MDOQ_Similar.First;
while not modulo_contabilidad.MDOQ_Similar.eof do
begin
debe:=debe+modulo_contabilidad.MDOQ_Similar.FieldByName('debe').AsFloat;
haber:=haber+modulo_contabilidad.MDOQ_Similar.FieldByName('haber').AsFloat;
modulo_contabilidad.MDOQ_Similar.next;
end;
edit2.Text:=FormatFloat('0.00',strtofloat(floattostr(debe)));
edit4.Text:=FormatFloat('0.00',strtofloat(floattostr(haber)));
Modulo_Contabilidad.MDOQ_Similar.EnableControls;
end;
en el evento oncolenter no se si es el evento adecuado ...tambien en este evento trato de controlar q solo una de las columnas tiene q tener cantidad registrada, me funciona no como quisiera pues tengo q mover el cursor dentro del dbgrid para q haga la sumatoria .
Mi problema es cuando tengo 3 o mas cuentas contables ahi la ultima fila se cambia por la primera y mientras escribo en el dbgrid se duplica la cantidad de filas porq pasa eso???
Porque para dos filas trabaj regularmente y para tres no funciona puesto q se duplica y la ultima fila se remplaza ??
En que evento del dbgrid o del query tengo q trabajar?
Por si no me explique bien quiero que se sume las columnas en edits mientras el usuario va registrando en el dbgrid
Muchas gracias por la ayuda porfavor q la necesito