Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-08-2011
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
2 tablas Paradox a Firebird

hola Amigos
quiero hacer una consulta a los amigos que tienen mas experiencia en esto de las bases de datos y registros pues empiezo

hice ya hace unos años un pequeño programa para pasar 1 tabla de paradox
a Firebird

(uso paradox 7.0 en tablas, Firebird 2.1 y delphi 2007)

y lo hice de la siguiente manera y hasta ahora me ha funcionado al 100%

Código Delphi [-]
 while not TablaParadox.Eof do
    begin
       For i := 0 to TablaParadox.Fields.Count -1 do
          IBTabla1.Fields[i].Value:=TablaParadox.Fields[i].Value;
          IBTabla1.Post;
          TablaParadox.Next;
   end;

*** pero ahora al cabo de varios años la tabla paradox ha crecido un poco y decidieron
dividirla en 2 osea crear una nueva a partir de mzo 2011 y dejar los años anteriores en la tabla antigua

pues bien ahora mi CONSULTA

¿como seria la mejor opción para juntar las 2 tablas de paradox?

la estuctura es igual en las dos nada mas que a alguien se le ocurrio llevar registros de la tabla antigua a la tabla nueva y checando las 2 tablas existen algunos registros y otros casi iguales solo cambia un campo que es primary key numreg

Código Delphi [-]
ejemplo:  base nueva

numreg   cliente    tipomov   nfactura  doc  refiere         -> campo
178908    100          1            300      300   300           -> contenido


base vieja 

numreg   cliente    tipomov   nfactura  doc  refiere         -> campo
177593    100          1            300      300   300           -> contenido

y el nombre de las tablas es identico cuentas.db

c:\Pxnueva\cuentas.db - tabla nueva
c:\Pxnueva\Pxvieja\cuentas.db - tabla vieja

numreg es key primary

lo podria hace por medio de Tquery y despues de hacer la consulta pasar el resultado ??

o con dataset se prodria hacer una union he escuchado por ahi


ojala me puedan dar su punto de vista para crear 1 sola tabla en firebird
de antemano les agradezco el tiempo que se tomaron para este post

saludos

Última edición por pmtzg fecha: 04-08-2011 a las 22:21:04.
Responder Con Cita
  #2  
Antiguo 04-08-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola pmtzg.

No sé si entiendo bién tu problema... Por lo que entendí de tu mensaje y usando un TIBDataSet con su generador, basta con que hagas la copia de forma consecutiva:
Código Delphi [-]
...
while not ViejaTablaParadox.Eof do
begin 
  IBDataSet1.Append;
  For i := 1 to ViejaTablaParadox.Fields.Count -1 do  // i=1 para respetar el campo_ID
     IBDataSet1.Fields[i].Value:= ViejaTablaParadox.Fields[i].Value;
  IBDataSet1.Post;
  ViejaTablaParadox.Next;
end;

while not NuevaTablaParadox.Eof do
begin
  IBDataSet1.Append;
  For i := 1 to NuevaTablaParadox.Fields.Count -1 do 
    IBDataSet1.Fields[i].Value:= NuevaTablaParadox.Fields[i].Value;
  IBDataSet1.Post;
  NuevaTablaParadox.Next;
end;
...
Pero me quedan dudas sobre el papel que juega el campo 'numreg'. Lo supuse como ID, pero no sé si es un código o corresponde al número de algún formulario...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 04-08-2011 a las 23:20:34.
Responder Con Cita
  #3  
Antiguo 04-08-2011
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
hola ecfisa

mira estoy usando 1 ttable para paradox
TIBdatabase y TibTable para firebird

el campo numreg es un contador de registro y llave primaria
no se puede repetir y ese es mi problema
osea que en la tabla vieja ya existe un campo con numreg=1
y en tabla nueva igual numreg =1

y en otras ocaciones en algunos registros son iguales exepto en el campo numreg y lo que estoy intentando es que no se duplique el registro en su contenido ni en el campo numreg

es por eso que preguntaba si podia por medio de un query unir las 2 tablas y de lo que me resulte grabar en base de datos firebird

gracias Amigo
Responder Con Cita
Respuesta



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
Importar estructura de tablas paradox en Firebird Matorral Firebird e Interbase 2 23-12-2010 12:43:03
Tablas paradox Bicholoco Conexión con bases de datos 10 08-03-2007 20:55:36
SUM en tablas paradox Gabriel2 SQL 3 29-11-2004 22:21:42
3 tablas de paradox OmarMtz Conexión con bases de datos 2 06-11-2004 01:59:56
tablas paradox borreguito Varios 3 27-11-2003 23:56:57


La franja horaria es GMT +2. Ahora son las 14:39:01.


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