Ver Mensaje Individual
  #1  
Antiguo 04-09-2006
Avatar de Goyo
Goyo Goyo is offline
Miembro
 
Registrado: feb 2006
Posts: 89
Reputación: 19
Goyo Va por buen camino
Unhappy Recorrer base de datos registro por registro

Un saludo estimados amigos programadores tengo un problema para actualizar registros, el problema es el siguiente:

tengo una tabla con los siguientes campos:
NumeroVehiculo, FechadeServicio, concepto1, concepto2, importe, importetotal.

lo que quiero es recorrer la tabla para actualizar los datos de manera que tome un registro y el importegasto (siempre y cuando corresponda con el numerovehiculo, y a la vez este registro se almacene en su campo importetotal:
por ejemplo:

NumeroVehiculo FechaServicio Concepto1 Concepto2 Importe ImporteTotal
--------------- ------------- ---------- ---------- ------- -------------
001 01/05/2006 llantas 500.00 500.00
001 16/05/2006 balatas 180.00 680.00
002 04/04/2006 pintura 5000.00 500.00
002 25/05/2006 llantas 500.00 5500.00
001 25/06/2006 afinacion 750.00 1430.00

osea que cuando se introduzca un nuevo registro (y este corresponda al NumeroVehiculo=001 o cualquiera que corresponda con el numero del vehiculo, se vaya autosumando en el campo ImporteTotal. De hecho de esta manera ya me lo hace, el problema es que al actualizar algun dato de un registro ya existente, me da la suma total en el campo importetotal de este registro, y lo que quiero es que la suma total del campo Importe en el ultimo registro que corresponda con el numerovehiculo.

por ejemplo si modifico el registro 2:
001 16/05/2006 balatas 200.00 680.00 en el campo importe (180.00) ahora 200.00 la suma del campo importetotal sera la suma del primero mas el segundo registro, entonces el total el ImporteTotal sera: 700.00 y el ultimo registro contendra el total de todos los registros: 1450.00

NumeroVehiculo FechaServicio Concepto1 Concepto2 Importe ImporteTotal
--------------- ------------- ---------- ---------- ------- -------------
001 01/05/2006 llantas 500.00 500.00
001 16/05/2006 balatas 200.00 700.00
001 25/06/2006 afinacion 750.00 1450.00

lo que pretendo es tomar la tabla y recorrer registro por registro (siempre y cuando el NumeroVehiculo=NumeroVehiculo) e ir tomando la informacion existente del campo Importe y esta se autosume el campo ImporteTotal tal como lo muestro en el ejemplo anterior. pero para hacer debo pulsar un Boton para Actualizar Datos, y de esta manera actualizar la tabla.

Código Delphi [-]
procedure TFrmBitacora.Button2Click(Sender: TObject);
var importe1:double;
    importeT:variant;
begin
importeT:=edit1.Text;
   dm.TbBitacora.First;//nos colocamos en el 1 registro
   while  not dm.TbBitacora.Eof do
      begin
      importe1:= dm.TbBitacora.FieldByName('importe').AsFloat;       importeT := importeT + importe1;
      edit1.Text := (importeT);
  
dm.TbBitacora.Next; //pasar al siguiente registro
 
end;

este el codigo que pretendo ejecutar, solo que me marca error y no se como hacerlo.... le agradecere su atencion... muchas gracias y espero me haya explicado BIEN!!!
Responder Con Cita