Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-10-2005
kikodelphi kikodelphi is offline
Miembro
 
Registrado: ene 2005
Posts: 23
Poder: 0
kikodelphi Va por buen camino
Campos calculados y ADOQuery

Hola

Estoy haciendo un sistema de gestion , y queria hacer una cuenta corriente.
En mi form tengo una grilla , que muestra el resultado de mi query .

Este devuelve una columna debe y otra haber , lo que quiero es calcular el saldo por cada fila de la consulta.

Esto lo intentaba resolver desde mi query pero no pude hacerlo , luego se me ocurrio que podia usar un campo calculado.
Esto funciona, pero al hacer foco sobre la grilla y moverme por ella se dispara el evento OnCalculate y me arruina las cosas .
Miramdo la ayuda decia que si la propiedad AutoCalField estava en Falso esto no ocurriria , pero no es asi .

Alguien sabe porque, o sabe otra forma de resolver esto.


PD:Lo que yo esperaba como resultado en la grilla era

Haber Debe Saldo

10 0 10
5 0 15
......................
................
Responder Con Cita
  #2  
Antiguo 04-10-2005
Avatar de jmariano
jmariano jmariano is offline
Miembro
 
Registrado: jul 2005
Posts: 376
Poder: 19
jmariano Va por buen camino
¿Como estás haciendo el cálculo en el evento OnCalcFields? (Sería bueno que pusieras algo de código para ver donde estaría el error)

Saludos!
Responder Con Cita
  #3  
Antiguo 05-10-2005
kikodelphi kikodelphi is offline
Miembro
 
Registrado: ene 2005
Posts: 23
Poder: 0
kikodelphi Va por buen camino
Este es el código del evento, donde PSaldoCta es una propiedad para sostener la suma.

procedure TmoduloDato2.ResumenVtaCalcFields(DataSet: TDataSet);
begin
PSaldoCta := PSaldoCta + ((ResumenVta.FieldByName('Debe').value) - (ResumenVta.FieldByName('Haber').value)) ;
ResumenVta.FieldByName('Saldo').value := PSaldoCta ;
end;

Reitero que el problema es que al mover el cursor en forma vertical, se dispara nuevamente el cáculo. En la ayuda dice que si la propiedad AutoCalcFields = falso este comportamiento no debería existir, o sea el evento OnCalculate no se debería disparar. ???

Gracias por ocuparte
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 01:13:05.


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
Copyright 1996-2007 Club Delphi