Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-02-2008
teclilla teclilla is offline
Miembro
 
Registrado: feb 2008
Posts: 41
Poder: 0
teclilla Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 17-02-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.732
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
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.

Última edición por duilioisola fecha: 17-02-2008 a las 21:10:50.
Responder Con Cita
  #3  
Antiguo 20-02-2008
teclilla teclilla is offline
Miembro
 
Registrado: feb 2008
Posts: 41
Poder: 0
teclilla Va por buen camino
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.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como capturar error de registro duplicado ajmr81 Firebird e Interbase 3 17-10-2006 11:36:07
tablas en sql server demasiadas tablas yeison Cristman SQL 8 10-08-2006 17:26:36
campo unico duplicado seken Conexión con bases de datos 4 15-04-2005 22:28:45
Registro Duplicado En Query jmedina SQL 2 29-11-2004 23:11:47
Registro Duplicado jmedina Conexión con bases de datos 0 17-11-2004 20:53:34


La franja horaria es GMT +2. Ahora son las 15:04:53.


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
Copyright 1996-2007 Club Delphi