FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Error al recorrer registros de tabla
Buen dia a todos. Por favor lo que a continuacion planteo tengo ya 2 dias sin resolver si alguien me da una piesta se lo agradecere siempre!!
Estoy tratando de hacer un bucle para borrar registros de una tabla que esta enlazada a otra via MasterSource de manera simple: procedure BorrarRegistros; begin Form1.tbl8.First; while Form1.tbl8.Eof = False do begin Form2.tbl8.Delete; Form2.tbl8.Next; end; end; Y sencillamente la tabla no esta moviendo el puntero de manera correcta cuando hago la navegacion. He hecho todo tipo de verificaciones a ver donde esta el problema; hasta le pegue un grid a la tabla para ver haciendo break en el procedure para ver la navegacion y el borrado y no salta el puntero cuando se lo indico. Lo mas extrano de todo esto es que cuando le pego un DBNavigator para hacer el movimiento del puntero esta si responde de manera correcta Que puede ser lo que este pasando? PD: Como veran estoy trabajando con tablas planas y Delphi7 |
#2
|
||||
|
||||
me parece que debes eliminar esa linea, puesto que cuando borras un registro el puntero pasa al registro siguiente y si encima le haces un next entonces no estaria borrando todos los registros supongo que es un ejemplo verdad? Form1.tbl8 y Form2.tbl8 ??
__________________
Dulce Regalo que Satanas manda para mi..... |
#3
|
||||
|
||||
Gracias por responder... Si solo un ejemplo, el codigo en realidad tiene otros objetos pero en esencia es eso, corrijo:
procedure BorrarRegistros; begin Form1.tbl8.First; while Form1.tbl8.Eof = False do begin Form1.tbl8.Delete; Form1.tbl8.Next; end; end; Pero creo que el error no esta ahi, el teoria el Next es necesario para mover el puntero hacia el proximo registro a borrar y seguir con el bucle. Tengo codigo como ese en otros formularios y si funciona. Insisto en lo que mencionaba antes: si en vez de usar codigo para mover el puntero uso un DBNavigator la tabla se recorre perfectamente. Que podria ser? Última edición por cheche358 fecha: 14-07-2011 a las 16:34:20. Razón: Enlace defectuoso |
#4
|
||||
|
||||
has probado? o solo estas suponiendo que el error debe ser otra cosa
te recomiendo que lo pruebes y comentes
__________________
Dulce Regalo que Satanas manda para mi..... |
#5
|
||||
|
||||
He probado un monton de cosas, pero el problema pareciera estar que la tabla no se esta moviendo al primer registro cuando llamo el:
Form1.tbl8.First; Sera que alguien ha tenido el mismo problema? Seran problemas con Indices? Agrego otro detalle, esta segunda tabla es el Detail de una tabla Maestra, en este caso: Es la tabla que contiene los articulos de los documentos de factura. Es decir que el puntero de esta tabla es inicialmente movido por el movimiento efectuado en la tabla Master... De que manera podria estar eso afectando el movimiento del puntero en la segunda tabla? |
#6
|
||||
|
||||
Si es una tabla detalle, porque no borras todos los registros donde el id del detalle sea el id del maestro.
Asi es como lo hago yo, lanzo una consulta parametrizada con el id y ya está. SAludos |
#7
|
||||
|
||||
El Next no es necesario porque al borrar el registro, el dataset pasa a apuntar al siguiente registro automáticamente (no se va a quedar apuntando al limbo).
Pero vamos, dado que estás usando una tabla, sería mejor usaras el método Clear para borrar todo, o incluso una SQL que es más eficiente "delete from tabla" y listo, todo borrado.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#8
|
||||
|
||||
Gracias de nuevo jafera y Lepe por responder...
Podrian por favor darme un pequeno ejemplo de codigo de la consulta para borrar los datos asociados de la tabla detalle? Ya tire la toalla recorriendo la tabla manualmente |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Recorrer Registros de dos Tablas comprobando STOCK | Lenny | Varios | 1 | 18-01-2011 18:25:19 |
Recorrer registros | golf2008 | MySQL | 3 | 17-04-2008 15:56:44 |
Recorrer Tabla, contar registro repetidos y escribir totales en otra Tabla | Lucas_diaz1810 | Conexión con bases de datos | 1 | 25-12-2006 13:04:34 |
Recorrer todos los registros de una tabla que tengan el mismo campo | Sayuri | Conexión con bases de datos | 3 | 08-12-2005 16:07:46 |
recorrer tabla | acrophet | Conexión con bases de datos | 7 | 30-04-2004 00:03:06 |
|