![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
no hagais caso, me he dejado el begin
. Lo siento mea culpa.... |
|
#2
|
|||
|
|||
|
Perdón por el error anterior. Ya me funciona, también se me había olvidado poner que las tablas fuesen adelantando un registro. Al final para aquel que le interese el código ha quedado del siguiente modo:
Código:
procedure TFormPrincipal.Realizarcopia1Click(Sender: TObject);
begin
while not DM.TblDepartamentos_seg.Eof do
DM.TblDepartamentos_seg.Delete;
DM.TblDepartamentos_seg.Refresh;
while not DM.TblDepartamentos.Eof do
begin
DM.TblDepartamentos_seg.Insert;
DM.TblDepartamentos_seg.FieldByName('Nombre').AsString := DM.TblDepartamentos.fieldbyname('Nombre').AsString;
DM.TblDepartamentos_seg.FieldByName('Cod_dep').AsString := DM.TblDepartamentos.fieldbyname('Cod_dep').AsString;
DM.TblDepartamentos_seg.Post;
DM.TblDepartamentos_seg.Refresh;
DM.TblDepartamentos_seg.Next;
DM.TblDepartamentos.Next;
end;
end;
|
|
#3
|
|||
|
|||
|
Hola a todos, de nuevo con mis problemas...seguramente tontos.
Recordais que quería hacer una copia de seguridad (esplicada más arriba) y que, resumiendo, tenía que borrar los registros antes de copiarlos??? Bien, pues en eso estoy, el caso es que tengo tablas maestro- detalle. La idea es borrar todas las tablas una por una por lo que el código se me queda del siguiente modo: Código:
procedure TFormPrincipal.Realizarcopia1Click(Sender: TObject);
begin
DM.TblPedidos_seg.First;
while not DM.TblPedidos_seg.Eof do
begin
DM.TblArticulosPedido_seg.First;
while not DM.TblArticulosPedido_seg.Eof do
DM.TblArticulosPedido_seg.Delete;
DM.TblPedidos_seg.Delete;
DM.TblPedidos_seg.Refresh;
end;
DM.TblAlbaranes_seg.First;
While not DM.TblAlbaranes_seg.Eof do
begin
DM.TblDetalleAlbaranes_seg.First;
while not DM.TblDetalleAlbaranes_seg.Eof do
DM.TblDetalleAlbaranes_seg.Delete;
DM.TblAlbaranes_seg.Delete;
DM.TblAlbaranes_seg.Refresh;
end;
..............
DM.TblDepartamentos_seg.First;
while not DM.TblDepartamentos_seg.Eof do
DM.TblDepartamentos_seg.Delete;
DM.TblDepartamentos_seg.Refresh;
...........
EL tema es que lo ejecuto y al pulsar en ralizar copia me aparece el mensaje de error: "TblPedidos_seg:Cannot perfom this operation on an empty dataset" El caso es que me borra los registros u posteriormente saca este error por lo que la aplicación (la copia de seguridad, o sea, lo borrados de las otras tablas) se detiene. El resto de la aplicación sigue funcionando. Si la acaba de borrar la de pedidos por que da el error?? en todo caso no debería ser si estuviese vacia desde un principio?? A ver si me lo aclarais un poco, porque no entiendo nada.. ![]() gracias... |
|
#4
|
|||
|
|||
|
Prueba quitando la línea que hace el Refresh...
Es lo único que veo en tu código que podría estar provocando el error. Saludos... |
|
#5
|
||||
|
||||
|
¿No sería mejor usar un "Drop table" o un "delere from" en lugar de ir borrando registro por registro?
__________________
|
|
#6
|
|||
|
|||
|
Tomando lo que dice ContraVeneno, el componente TTable tiene un método llamado EmptyTable que bien te podría servir para lo que buscas.
Saludos... |
|
#7
|
|||
|
|||
|
Gracias....he quitado la línea del refresh y me ha funcionado. Pero no lo entiendo, por que daba el error???
De nuevo, gracias. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Transacción en tablas InnoDB | FunBit | MySQL | 1 | 02-01-2006 17:26:58 |
| Copiar tablas Access | TONIAM | Conexión con bases de datos | 0 | 22-04-2005 11:36:18 |
| Copiar registros ordenados a otras tablas... | Phacko | Conexión con bases de datos | 6 | 06-01-2005 01:08:27 |
| ayuda al copiar dos tablas.... | ronimaxh | Firebird e Interbase | 4 | 16-04-2004 17:34:39 |
|