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 08-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Pasar una tabla o base de dato a otra

-Hola, necesito pasar unos datos de una tabla a otra tabla, que octiene los mismo campos.

-Me pueden decir, que me hace falta o que ecolocado demas...


Error que muestra el sistema:

Código Delphi [-]
access violation at address 006D3BE5 in module Asistencia.exe write of address 0000000.

utilizo:

Delphi xe2, IBDataset. Firebird...

-IBDataset: ASISTENCIA_MADRE1.

El Codigo que se esta utilizando:

Código Delphi [-]
procedure TForm4.BitBtn1Click(Sender: TObject);
begin
    if application.MessageBox('DESEA GUARDAR?','guardar un Registro',
     MB_ICONQUESTION OR MB_YESNO) = ID_YES then
       begin
           Dmodulo.ASISTENCIA_MADRE1.Close;
           Dmodulo.ASISTENCIA_MADRE1.SelectSQL.Text:=Dmodulo.ASISTENCIA_MADRE1.InsertSQL.Text;
           DMODULO.ASISTENCIA_MADRE1.Open;
           Dmodulo.ASISTENCIA_MADRE1.First;
           while not Dmodulo.ASISTENCIA_MADRE1.Eof do
           begin
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('TIPO_DOCUMENTO').Value:=Dmodulo.Asistencia.FieldByName('TIPO_  DOCUMENTO').Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('CEDULA').Value:=Dmodulo.Asistencia.FieldByName('CEDULA').Valu  e;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('NOMBRE').Value:=Dmodulo.Asistencia.FieldByName('NOMBRE').Valu  e;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('APELLIDO').Value:=Dmodulo.Asistencia.FieldByName('APELLIDO').  Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('CODIGO_COLEGUIO').Value:=Dmodulo.Asistencia.FieldByName('CODI  GO_COLEGUIO').Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('COLEGUIO').Value:=Dmodulo.Asistencia.FieldByName('COLEGUIO').  Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('DIAS_TRABAJADO').Value:=Dmodulo.Asistencia.FieldByName('DIAS_  TRABAJADO').Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('TLF_FIJO').Value:=Dmodulo.Asistencia.FieldByName('TLF_FIJO').  Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('TLF_CELULAR').Value:=Dmodulo.Asistencia.FieldByName('TLF_CELU  LAR').Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('CORREO').Value:=Dmodulo.Asistencia.FieldByName('CORREO').Valu  e;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('MUNICIPIO').Value:=Dmodulo.Asistencia.FieldByName('MUNICIPIO'  ).Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('PARROQUIA').Value:=Dmodulo.Asistencia.FieldByName('PARROQUIA'  ).Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('DIAS_TRABAJADO1').Value:=Dmodulo.Asistencia.FieldByName('DIAS  _TRABAJADO1').Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('DIAS_TRABAJADO2').Value:=Dmodulo.Asistencia.FieldByName('DIAS  _TRABAJADO2').Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('DIAS_TRABAJADO3').Value:=Dmodulo.Asistencia.FieldByName('DIAS  _TRABAJADO3').Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('DIAS_TRABAJADO4').Value:=Dmodulo.Asistencia.FieldByName('DIAS  _TRABAJADO4').Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('DIAS_TRABAJADO5').Value:=Dmodulo.Asistencia.FieldByName('DIAS  _TRABAJADO5').Value;
               Dmodulo.ASISTENCIA_MADRE1.ParamByName('Monto').Value:=Dmodulo.Asistencia.FieldByName('Monto').Value;

               Dmodulo.ASISTENCIA_MADRE1.Next;

               Dmodulo.ASISTENCIA_MADRE1.ExecSQL;
               Dmodulo.ibt.Commit;  // ibt ibtrasaction
               Dmodulo.ASISTENCIA_MADRE1.selectSQL.Clear ;
               Dmodulo.ASISTENCIA_MADRE1.selectSQL.Add('select * from ASISTENCIA_MADRE ');
               Dmodulo.ASISTENCIA_MADRE1.Open;

           SHOWMESSAGE('El Monto a sido Insertado');
       END;
     end;
end;


Espero sus respuesta, Por favor y gracias...
Responder Con Cita
  #2  
Antiguo 08-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.059
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Como ya supongo que lo sabes, pero aquí lo vuelvo a poner:
Código SQL [-]
insert into tabladestino select * from tablaorigen

Pregunta si tienes alguna duda
Responder Con Cita
  #3  
Antiguo 08-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Pasar una tabla o base de dato a otra

tambien ise esta modificación, en el codigo que tengo en el IBDataset.(y hago llamado en el codigo) Y me da el siguiente error.

Error que muestra el sistema:

Código Delphi [-]
Dynamic SQL error
SQL error code=-104
Token unknown - line 5, column 1
values.


Codigo en el IBDataset:

Código Delphi [-]
insert into ASISTENCIA_MADRE select * from DIASMADRE
  (CEDULA,APELLIDO, CODIGO_COLEGUIO, COLEGUIO, CORREO, DIAS_TRABAJADO, DIAS_TRABAJADO1, 
   DIAS_TRABAJADO2, DIAS_TRABAJADO3, DIAS_TRABAJADO4, DIAS_TRABAJADO5, 
   MONTO, MUNICIPIO, NOMBRE, PARROQUIA, TIPO_DOCUMENTO, TLF_CELULAR, TLF_FIJO)
values
  (:CEDULA,:APELLIDO, :CODIGO_COLEGUIO, :COLEGUIO, :CORREO, IAS_TRABAJADO, IAS_TRABAJADO1, 
   IAS_TRABAJADO2, IAS_TRABAJADO3, IAS_TRABAJADO4, IAS_TRABAJADO5, 
   :MONTO, :MUNICIPIO, :NOMBRE, :PARROQUIA, :TIPO_DOCUMENTO, :TLF_CELULAR, 
   :TLF_FIJO)
Responder Con Cita
  #4  
Antiguo 08-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.059
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Claro, es una sentencia sql no válida.
Pero ¿eso tiene algo que ver con lo anterior?
Responder Con Cita
  #5  
Antiguo 08-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Pasar una tabla o base de dato a otra

Si tiene que ver. estoy asiendo el llamado aqui:

IBdataset:ASISTENCIA_MADRE1.

Código Delphi [-]
// Dmodulo.ASISTENCIA_MADRE1.InsertSQL.Text;

Código Delphi [-]
Dmodulo.ASISTENCIA_MADRE1.Close;
Dmodulo.ASISTENCIA_MADRE1.SelectSQL.Text:=Dmodulo.ASISTENCIA_MADRE1.InsertSQL.Text;
DMODULO.ASISTENCIA_MADRE1.Open;

___________________________________________________

este es mi nuevo codigo, y tambien me da error:

Código Delphi [-]
insert into ASISTENCIA_MADRE  
  (CEDULA,APELLIDO, APELLIDO, CODIGO_COLEGUIO, CODIGO_COLEGUIO, COLEGUIO, COLEGUIO, 
   CORREO, CORREO, DIAS_TRABAJADO, DIAS_TRABAJADO1, DIAS_TRABAJADO1, 
   DIAS_TRABAJADO2, DIAS_TRABAJADO2, DIAS_TRABAJADO3, DIAS_TRABAJADO3, 
   DIAS_TRABAJADO4, DIAS_TRABAJADO4, DIAS_TRABAJADO5, DIAS_TRABAJADO5, 
   DIAS_TRABAJADO, MONTO, MONTO, MUNICIPIO, MUNICIPIO, NOMBRE, NOMBRE, 
   PARROQUIA, PARROQUIA, TIPO_DOCUMENTO, TIPO_DOCUMENTO, TLF_CELULAR, 
   TLF_CELULAR, TLF_FIJO, TLF_FIJO)
values
  (:CEDULA,:APELLIDO, :APELLIDO, :CODIGO_COLEGUIO, :CODIGO_COLEGUIO, :COLEGUIO, 
   :COLEGUIO, :CORREO, :CORREO, : DIAS_TRABAJADO, : DIAS_TRABAJADO1, : DIAS_TRABAJADO1, 
   : DIAS_TRABAJADO2, : DIAS_TRABAJADO2, : DIAS_TRABAJADO3, : DIAS_TRABAJADO3, 
   : DIAS_TRABAJADO4, : DIAS_TRABAJADO4, : DIAS_TRABAJADO5, : DIAS_TRABAJADO5, 
   : DIAS_TRABAJADO, :MONTO, :MONTO1, :MUNICIPIO, :MUNICIPIO1, :NOMBRE, 
   :NOMBRE, :PARROQUIA, :PARROQUIA, :TIPO_DOCUMENTO, :TIPO_DOCUMENTO, 
   :TLF_CELULAR, :TLF_CELULAR, :TLF_FIJO, :TLF_FIJO)
Responder Con Cita
  #6  
Antiguo 08-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.059
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo que no nos estamos entendiendo

Tú quieres pasar todos los registros de una tabla a otra tabla que tiene los mismo campos, ¿es eso?
Responder Con Cita
  #7  
Antiguo 08-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Si, quiero pasar una tabla a otra, con los mismo campos...
Responder Con Cita
  #8  
Antiguo 08-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.059
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por maxzama Ver Mensaje
Si, quiero pasar una tabla a otra, con los mismo campos...
Bien, pues entonces solamente tienes que hacer lo que te he indicado al principio.
Te sobra todo ese código que has puesto.
Unicamente:
Código SQL [-]
insert into tabladestino select * from tablafuente
Pon ese código en un ibquery y lo ejecutas, nada más.
Responder Con Cita
  #9  
Antiguo 08-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Aver si te entiendo ese codigo lo coloco Donde:

En el IBQuery(donde hago el llamado a la tabla): insert into tabladestino select * from tablafuente

y

En el boton donde le Doy la Acción. De pasar de una tabla a otra:

Dmodulo.ASISTENCIA_MADRE.Close;
Dmodulo.ASISTENCIA_MADRE.SQL.Text:='insert into ASISTENCIA_MADRE Select * from DiasMadres (APELLIDO, APELLIDO, CEDULA, CEDULA,CODIGO_COLEGUIO,CODIGO_COLEGUIO,COLEGUIO, COLEGUIO, CORREO, CORREO, DIAS_TRABAJADO, DIAS_TRABAJADO1,DIAS_TRABAJADO1, DIAS_TRABAJADO2, DIAS_TRABAJADO2, DIAS_TRABAJADO3,DIAS_TRABAJADO3, DIAS_TRABAJADO4, DIAS_TRABAJADO4, DIAS_TRABAJADO5, DIAS_TRABAJADO5, DIAS_TRABAJADO, MONTO, MONTO, MUNICIPIO, MUNICIPIO, NOMBRE, NOMBRE, PARROQUIA, PARROQUIA, TIPO_DOCUMENTO, TIPO_DOCUMENTO, TLF_CELULAR, TLF_CELULAR, TLF_FIJO, TLF_FIJO) values (:APELLIDO, :APELLIDO, :CEDULA, :CEDULA, :CODIGO_COLEGUIO, :CODIGO_COLEGUIO, :COLEGUIO, :COLEGUIO,:CORREO, :CORREO, : DIAS_TRABAJADO, : DIAS_TRABAJADO1, : DIAS_TRABAJADO1, : DIAS_TRABAJADO2, : DIAS_TRABAJADO2, : DIAS_TRABAJADO3,
: DIAS_TRABAJADO3, : DIAS_TRABAJADO4, : DIAS_TRABAJADO4, : DIAS_TRABAJADO5, : DIAS_TRABAJADO5, : DIAS_TRABAJADO, :MONTO, :MONTO, :MUNICIPIO, :MUNICIPIO,:NOMBRE, :NOMBRE, :PARROQUIA, :PARROQUIA, :TIPO_DOCUMENTO, :TIPO_DOCUMENTO, :TLF_CELULAR, :TLF_CELULAR, :TLF_FIJO, :TLF_FIJO)';

DMODULO.ASISTENCIA_MADRE.Open;


O no es asi en ninguna de las dos?...

Última edición por maxzama fecha: 08-01-2015 a las 18:45:15.
Responder Con Cita
  #10  
Antiguo 08-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.059
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si quieres pasar todos los registros de una tabla a otra tabla.
Código SQL [-]
insert into tabladestino select * from tablafuente
Nada más.

Pero si quieres hacer otra cosa, entonces no te has explicado bien.
Responder Con Cita
  #11  
Antiguo 08-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
No quiero hacer otra funcion, solo quiero pasar los datos de una tabla a otra.

Por eso te preguntaba en el comentario anterior, si era asi. como lo tengo que hacer.

Ya que tengo un IBQuery donde llamo la base de dato.

Y un boton Donde le doy la Acción o le digo que haga. // que al precionarlo me pasa los datos de una tabla a otra.

Disculpas las molestias. Pero no se, si es que me hago entender...
Responder Con Cita
  #12  
Antiguo 08-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.059
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Pues no sé, creo que está bastante claro. Tú dices que quieres pasar TODOS los registros de una tabla o otra tabla.
Yo te contesto que solamente has de ejecutar la siguiente sentencia: insert into tabladestino select * from tablaorigen
Eso es todo, no tienes nada más que hacer, sobra todo tu código, bórralo, elimínalo, no sirve para nada, no hace falta. Así de simple.
Responder Con Cita
  #13  
Antiguo 08-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Disculpa que moleste nuevamente.

Bueno creo que no me hecho entender ese codigo, Que me estas dando.

Lo tengo que colocar en el boton donde estoy dando la accion o en el IBQUERY(donde hago el llamado de la base de dato).
Responder Con Cita
  #14  
Antiguo 08-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.059
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si tienes un botón, al pulsarlo, por ejemplo
Código SQL [-]
ibquery.close;
ibquery.selectsql.text := "insert into tabledestino select * from tablafuente";
ibquery.execsql;
Responder Con Cita
  #15  
Antiguo 08-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
Aun me sigue dando error:

Error del sistema:

Código Delphi [-]
access violation at address 006D3BE5 in module Asistencia.exe write of address 0000000.

Este es el codigo que se tiene en el boton:

Código Delphi [-]
if application.MessageBox('DESEA GUARDAR?','guardar un Registro',
     MB_ICONQUESTION OR MB_YESNO) = ID_YES then
       begin
           Dmodulo.ASISTENCIA_MADRE.Close;
           Dmodulo.ASISTENCIA_MADRE.SQL.Text:='insert into ASISTENCIA_MADRE select * from DiasMadre';
           DMODULO.ASISTENCIA_MADRE.Open;
           Dmodulo.ASISTENCIA_MADRE.First;

           Dmodulo.ASISTENCIA_MADRE.ExecSQL;
               Dmodulo.ibt.Commit;  // ibt ibtrasaction
               Dmodulo.ASISTENCIA_MADRE.SQL.Clear ;
               Dmodulo.ASISTENCIA_MADRE.SQL.Add('select * from ASISTENCIA_MADRE ');
               Dmodulo.ASISTENCIA_MADRE.Open;

           SHOWMESSAGE('El Monto a sido Insertado');
       end;


Y en el IBQuery tengo el siguiente codigo:

Select * from ASISTENCIA_MADRE
Responder Con Cita
  #16  
Antiguo 08-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.059
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y eso qué tiene que ver con lo que te he escrito una cuantas veces?
Responder Con Cita
  #17  
Antiguo 08-01-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.059
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
En ese Data Module llamado Dmodulo, pon un ibquery.
Luego copias este código al pulsar el botón (y borra todo lo que tienes escrito)
Código SQL [-]
ibquery.close;
ibquery.selectsql.text := "insert into tabledestino select * from tablafuente";
ibquery.execsql;
Responder Con Cita
  #18  
Antiguo 08-01-2015
maxzama maxzama is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 126
Poder: 13
maxzama Va por buen camino
El Error que tenia en todo el codigo era:

Código Delphi [-]
DMODULO.ASISTENCIA_MADRE.Open;

Código Delphi [-]
if application.MessageBox('DESEA GUARDAR?','guardar un Registro',
     MB_ICONQUESTION OR MB_YESNO) = ID_YES then
       begin
           Dmodulo.ASISTENCIA_MADRE.Close;
           Dmodulo.ASISTENCIA_MADRE.SQL.Text:='insert into ASISTENCIA_MADRE select * from DiasMadre';
           DMODULO.ASISTENCIA_MADRE.Open;

           Dmodulo.ASISTENCIA_MADRE.ExecSQL;
               Dmodulo.ibt.Commit;  // ibt ibtrasaction
               Dmodulo.ASISTENCIA_MADRE.SQL.Clear ;
               Dmodulo.ASISTENCIA_MADRE.SQL.Add('select * from ASISTENCIA_MADRE ');
               Dmodulo.ASISTENCIA_MADRE.Open;

           SHOWMESSAGE('El Monto a sido Insertado');
       end;

// era por algo tonto(que no corria), y lo tenia en mis narices y no lo vi.

Gracias por la Ayuda panal. y la pasiencia...
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
Como seleccionar datos de una columna en base a un dato de otra de la misma Tabla Cristhor1982 MS SQL Server 21 04-12-2014 09:50:06
Como pasar un base de dato a otra? maxzama Varios 8 03-12-2014 22:00:20
copiar de una tabla de una base de datos a otra tabla igual de otra base de datos ingabraham Conexión con bases de datos 1 14-10-2008 23:16:42
pasar un dato de una tabla a otra betty_loo Conexión con bases de datos 11 12-11-2007 23:10:48
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


La franja horaria es GMT +2. Ahora son las 00:08:44.


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