Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Duplicado de tablas (https://www.clubdelphi.com/foros/showthread.php?t=53292)

teclilla 17-02-2008 19:04:52

Duplicado de tablas
 
Hola, estoy desarrollando una aplicacion en Delphi 5 y uso una Base de Datos Paradox 7, en la cual tengo las siguientes tablas:
Clientes
Productos
Presupuestos (Guarda datos del presupuesto)
DetallesPresupuesto (Guarda las lineas de detalle del presupuesto referente a los productos)
etc.
La aplicacion es para realizar presupuestos a los clientes de los productos cuando vayan a la tienda, si mas adelante vuelven y deciden que desean realizar la compra se efectua el contrato de compra-venta. Cuando se acepta el presupuesto, (y esto es lo que no se como hacer), he de guardar los mismos datos en otra tabla Contrato y DetallesContrato, ya que el presupuesto y el contrato contienen la misma información, menos el identificador, y no se si realizar una copia de ese registro de presupuesto a las tablas Contrato y DetallesContrato o se puede hacer el diseño de otra manera, no se si me he explicado, si hay algo que no entendais avisarme por favor.
Muchas gracias.

duilioisola 17-02-2008 20:06:54

Puedes hacer un procedimiento que copie campo a campo dos registros de dos tablas distintas.
Luego aplicas ese procedimiento a la cabecera y luego a los registros de detalle.

No tengo un Delphi a mano, pero sería algo asi:
Código Delphi [-]
TPresupuesto.Open;
TContrato.Insert;
for i := 1 to TPresupuesto.FieldCount do
   TContrato.Field[i] := TPresupuesto.Field[i];
TContrato.Post;

Con SQL sería más fácil:
Código SQL [-]
 
insert into cabecera_contrato (numero,nombre,preciototal,...)
select numero,nombre,preciototal,... from presupuesto
where numero=?numero
y lo mismo con la tabla detalle.

teclilla 20-02-2008 16:12:33

Gracias, pensé que igual habia otra forma de hacerlo para no tener dos tablas maestras y dos detalles con la misma información.
Muy agradecida, teclilla.


La franja horaria es GMT +2. Ahora son las 20:14:30.

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