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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-08-2011
Avatar de pmtzg
pmtzg pmtzg is offline
Miembro
 
Registrado: jul 2007
Posts: 179
Poder: 17
pmtzg Va por buen camino
Question Opciones para copiar registros de una tabla a otra

hola amigos
tengo la siguiente pregunta, estoy haciendo una pequeña aplicacion donde uno 2 tablas paradox para formar una sola
lo hago por medio de
1 query2 y table2

este es el codigo aqui selecciono todos los campos

Código Delphi [-]

consult:='select * from cuentas.db '+
' union '+
' select * from BdOld\cuentas.db ';

query1.SQL.Clear;
query1.SQL.Add(consult);

query2.Active := true;

table2.DatabaseName := 'Reporte';
table2.TableName := 'tableunion';

 table2.Open;

while not query2.Eof do
   table2.Append;
  begin
     for I := 0 to query2.fields.Count - 1 do
        begin
          table2.Fields[i].Value := query2.Fields[i].Value;
          table2.post;
         query2.Next;
        end;
   end;

y excelente todo muy bien

pero ahora por necesidad tengo un campo llamado noreg, que es key primary
y me guarda el no de registro q se va guardando, y este campo lo deseo colocar con un nuevo numero segun se vaya guardando en la nueva base o la union de las 2 bases y hago lo siguiente :

Código Delphi [-]
consult:='select cliente, fecha, importe, fechaven, descuento from cuentas.db '+
' union '+
' select cliente, fecha, importe, fechaven, descuento from BdOld\cuentas.db  order by fecha desc';

// selecciono todos los campos exepto noreg

query1.SQL.Clear;
query1.SQL.Add(consult);

query2.Active := true;

table2.DatabaseName := 'Reporte';
table2.TableName := 'tableunion';
nr:=query2.RecordCount;  // para gravar noreg con nuevo num. de registro
 table2.Open;
table2.Append;
while not query2.Eof do
   
  begin
    // for I := 0 to query2.fields.Count - 1 do    omiti esto 
       // begin
        //  table2.Fields[i].Value := query2.Fields[i].Value;  omiti esto

           table2.FieldByName('noreg').AsInteger:=nr;
           table2.FieldByName('cliente'):=query2.FieldValues['cliente'];
           table2.FieldByName('fecha'):=query2.FieldValues['fecha'];
           table2.FieldByName('importe'):=query2.FieldValues['importe'];
           table2.FieldByName('fechaven'):=query2.FieldValues['fechaven'];
           table2.FieldByName('descuento'):=query2.FieldValues['descuento'];

          table2.insert;
         query2.Next;
         nr:=nr-1;
       // end;
   end;

ahora mi pregunta es la siguiente
¿habra una forma de tomar todos los registros del query2 y solo anexar el valor del campo noreg por medio de variable ?

mas sencillo es un buen capturar todos los registros puesto que tengo que pasar asi varias tablas y unas traen hasta 52 campos con el mismo campo noreg como key prymary

si anexo esto al codigo

Código Delphi [-]
for I := 0 to query2.fields.Count - 1 do    
        begin
          table2.Fields[i].Value := query2.Fields[i].Value;  
           table2.FieldByName('noreg').AsInteger:=nr;

y mando grabar me manda error
solo me funciona declarando todos los campos de uno por uno

Código Delphi [-]
table2.FieldByName('cliente'):=query2.FieldValues['cliente'];

espero haberme explicado
si alguien me puede ayudar se lo agradecere porque me faltan mas tabla por unir y como les comentaba hay algunas que traen hasta 52 campos esta es la mas peque y es un ejemplo

gracias saludos
Responder Con Cita
 



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
copiar registros de una tabla a otra Rofocale Varios 11 07-06-2011 13:23:55
copiar ciertos registros de una tabla a otra JESUSNET Conexión con bases de datos 2 07-06-2008 16:53:13
Mysql: copiar los campos de una tabla de una base de datos a otra tabla de otra base? patriram MySQL 4 02-11-2007 16:00:24
necesito ayuda para pasar registros a otra tabla ddd_ddd Conexión con bases de datos 2 09-09-2005 20:33:41
Copiar registros de una tabla a otra en Access con Delphi Gelmin Conexión con bases de datos 1 01-07-2005 12:35:04


La franja horaria es GMT +2. Ahora son las 10:21:58.


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