![]() |
Recorrer base de datos registro por registro
Un saludo estimados amigos programadores tengo un problema :confused: 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.
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!!! |
Sin entrar en detalles has inicializado el "edit1" convenientemente.
Un Saludo. |
ya lo hice como me dijiste que me faltaba solo igualar a cero "0" el Edit1.text, ahora el problemilla que tengo es que ahora la suma me la hace de todos los registros que hay en la tabla, para lo cual te muestro el procedimiento que aplico.. con la logica de hacerlo mientras no sea fin de archivo y NumeroVehiculo=NumeroVehiculo para que lo haga solo con aquellas claves que sean iguales...
|
Este método con un archivo muy grande sería totalmente ineficiente, lo lógico sería tener un índice por el campo en cuestion.
1.- Activar el índice. 2.- Buscar la primera ocurrencia 3.- Comenzar un ciclo mientras las siguientes ocurrencias coincidan. Al estar indexado cuando no coincidan es que no hay más y así solo se recorren los registros que hay que sumar. Un Saludo. |
La franja horaria es GMT +2. Ahora son las 21:56:09. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi