Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > SQL
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 06/01/2006
alcides's Avatar
alcides alcides is offline
Miembro
 
Join Date: Dec 2003
Location: Republica Dominicana
Posts: 204
Poder: 23
alcides Va por buen camino
Agregar registros a una tabla con datos

Hola a todos,

usando delphi 7 y mis tablas en access.
tengo lo siguiente:

tabla detalle
cns__detalle
numero_transacion
fecha_transacion
cuenta
descripcion
debito
credito


tabla detalle_cheques
cns_cheques
numero_cheques
fecha_cheques
cuenta_cheques
descripcion_cheques
debito_cheques
credito_cheques

lo que quiero es lo siguiente a mi tabla detalle agregarle los registros de
mi tabla detalle_cheques en un parametro de fecha.

mi tabla detalle tiene registros.

si me pueden dar una manito por fa.

gracias mil

Alcides
Rep.Dom.
Reply With Quote
  #2  
Old 06/01/2006
delphi.com.ar's Avatar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Join Date: May 2003
Location: Buenos Aires, Argentina *
Posts: 5,964
Poder: 29
delphi.com.ar Va camino a la fama
Quote:
Originally Posted by alcides
lo que quiero es lo siguiente a mi tabla detalle agregarle los registros de mi tabla detalle_cheques en un parametro de fecha.
No entiendo esto de "en un parametro de fecha"... Quieres agregar en la tabla detalle los registros de detalle_cheques que tengan cierto valor en fecha??

Código SQL [-]
INSERT INTO TABLA1 (CAMPO1, CAMPO2, CAMPO3)
SELECT CAMPO1, CAMPO2, CAMPO3
FROM TABLA2
WHERE CAMPOX = :Parametro
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Reply With Quote
  #3  
Old 06/01/2006
alcides's Avatar
alcides alcides is offline
Miembro
 
Join Date: Dec 2003
Location: Republica Dominicana
Posts: 204
Poder: 23
alcides Va por buen camino
gracias delphi.com.ar,

parametro de fecha: los registros que esten contenido por ejemplo entre las fechas 01/02/2005 hasta 28/02/2005.


gracias mil

Alcides
Rep.Dom.
Reply With Quote
  #4  
Old 07/01/2006
vtdeleon's Avatar
vtdeleon vtdeleon is offline
Miembro
 
Join Date: Apr 2004
Location: RD & USA
Posts: 3,236
Poder: 26
vtdeleon Va por buen camino
Saludos
Código SQL [-]
INSERT INTO TABLA1 (CAMPO1, CAMPO2, CAMPO3)
SELECT CAMPO1, CAMPO2, CAMPO3
FROM TABLA2
WHERE CAMPOX Between :Parametro1 and :Parametro2
Suerte
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Reply With Quote
  #5  
Old 07/01/2006
alcides's Avatar
alcides alcides is offline
Miembro
 
Join Date: Dec 2003
Location: Republica Dominicana
Posts: 204
Poder: 23
alcides Va por buen camino
Code:
INSERT INTO Detalle (numero_transacion, fecha_transacion, debito, credito)
SELECT numero_cheques, fecha_cheques, debito, credito
FROM detalle_cheques
WHERE fecha_cheques Between :PFECHA_INICIAL and :PFECHA_FINAL
esto es lo que tengo y presenta el error 'commandtext does not return a result set'
Reply With Quote
  #6  
Old 07/01/2006
vtdeleon's Avatar
vtdeleon vtdeleon is offline
Miembro
 
Join Date: Apr 2004
Location: RD & USA
Posts: 3,236
Poder: 26
vtdeleon Va por buen camino
Saludos

Creo uqe estas usando Open en vez de ExecSql
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Reply With Quote
  #7  
Old 10/01/2006
alcides's Avatar
alcides alcides is offline
Miembro
 
Join Date: Dec 2003
Location: Republica Dominicana
Posts: 204
Poder: 23
alcides Va por buen camino
gracias vtdeleon,
una duda

esto es lo que tengo.
Código Delphi [-]
qry_detalle.SQL.Clear;
try
  qry_detalle.SQL.Add('INSERT INTO DETALLE(numero_transacion, fecha_transacion, cuenta, descripcion, debito, credito)');
  qry_detalle.SQL.Add('SELECT numero_cheques, fecha_cheques, cuenta, descripcion, debito, credito');
  QRY_DETALLE.SQL.Add('FROM detalle_cheques');
  qry_detalle.SQL.Add('WHERE fecha_cheques Between :PFECHA_INICIAL and :PFECHA_FINAL');
  qry_detalle.ExecSQL;

y mi adoquery, como lo defino en el form.

gracias mil

Alcides
Rep.Dom.

Last edited by delphi.com.ar : 10/01/2006 at 20:52.
Reply With Quote
  #8  
Old 10/01/2006
delphi.com.ar's Avatar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Join Date: May 2003
Location: Buenos Aires, Argentina *
Posts: 5,964
Poder: 29
delphi.com.ar Va camino a la fama
Te faltaría pasarle los valores a los parámetros

Código Delphi [-]
  ...
  qry_detalle.SQL.Add('WHERE fecha_cheques Between :PFECHA_INICIAL and :PFECHA_FINAL');

  qry_detalle.Params[0].AsDateTime := dtpFechaDesde.Date;
  qry_detalle.Params[1].AsDateTime := dtpFechaHasta.Date;

  qry_detalle.ExecSQL;

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Reply With Quote
  #9  
Old 13/01/2006
alcides's Avatar
alcides alcides is offline
Miembro
 
Join Date: Dec 2003
Location: Republica Dominicana
Posts: 204
Poder: 23
alcides Va por buen camino
Gracias Delphi.com.ar,

cambie y realice esta rutinita para agregar registro de una tabla a otra y resulta que solo me agrega un registro y finaliza.


PHP Code:
       Tbl_Detalle.Insert;
       
qry_detalle_cheques.Close;
       
qry_detalle_cheques.Parameters.ParamByName('pfecha_inicial').Value := strtodate(fecha_inicial.Text);
       
qry_detalle_cheques.Parameters.ParamByName('pfecha_final').Value   := strtodate(fecha_final.Text);
       
qry_detalle_cheques.open;
    if 
qry_detalle_cheques.RecordCount 0 then begin
       Tbl_detalle
.FieldByName('numero_transacion').Value := qry_detalle_chequesnumero_cheques.Value;
       
Tbl_detalle.FieldByName('fecha_transacion').Value  := qry_detalle_chequesfecha_cheques.Value;
       
Tbl_detalle.FieldByName('cuenta').Value            := qry_detalle_chequescuenta_cheques.Value;
       
Tbl_detalle.FieldByName('descripcion').Value       := qry_detalle_chequesdescripcion.Value;
       
Tbl_detalle.FieldByName('debito').Value            := qry_detalle_chequesdebito.Value;
       
Tbl_detalle.FieldByName('credito').Value           := qry_detalle_chequescredito.Value;
       
Tbl_detalle.FieldByName('ccdebito').Value          := 0;
       
Tbl_detalle.FieldByName('cccredito').Value         := 0;
       
Tbl_detalle.FieldByName('dia_transacion').Value    := 0;
       
Tbl_detalle.FieldByName('mes_transacion').Value    := 0;
       
Tbl_detalle.FieldByName('ano_transacion').Value    := 0;
       
Tbl_detalle.FieldByName('monto').Value             := 0;
       
Tbl_detalle.FieldByName('posteada').Value          := ' ';
       
Tbl_detalle.FieldByName('usuario').Value           := ' ';
       
Tbl_detalle.Post;
end

porque solo agrega uno? y luego finaliza

gracias mil,

Alcides
Rep. Dom.
Reply With Quote
  #10  
Old 13/01/2006
vtdeleon's Avatar
vtdeleon vtdeleon is offline
Miembro
 
Join Date: Apr 2004
Location: RD & USA
Posts: 3,236
Poder: 26
vtdeleon Va por buen camino
Saludos

Chequiaste si el rango de fecha solo arroja un solo registro?
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Reply With Quote
  #11  
Old 13/01/2006
alcides's Avatar
alcides alcides is offline
Miembro
 
Join Date: Dec 2003
Location: Republica Dominicana
Posts: 204
Poder: 23
alcides Va por buen camino
gracias vtdeleon,

en el rango de fecha hay 18 registros.


Gracias mil,

Alcides
Rep.Dom.
Reply With Quote
  #12  
Old 13/01/2006
vtdeleon's Avatar
vtdeleon vtdeleon is offline
Miembro
 
Join Date: Apr 2004
Location: RD & USA
Posts: 3,236
Poder: 26
vtdeleon Va por buen camino
Saludos

Bueeno, no se me ocurre mas nada, solo veo algo extra~o y que deberia darte error. Por que usas Open y no ExecSQL. Es una transaccion de insercion y no devolvera nada. No te da error?

cual es el rango de fecha?
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Reply With Quote
  #13  
Old 13/01/2006
alcides's Avatar
alcides alcides is offline
Miembro
 
Join Date: Dec 2003
Location: Republica Dominicana
Posts: 204
Poder: 23
alcides Va por buen camino
gracias vtdeleon,

el rango de fecha es desde 01/06/2005 hasta 30/06/2005
lee el primer registro y sale

no me da ningun error, sencillamente termina.


Gracias mil,

Alcides
Rep.Dom.
Reply With Quote
  #14  
Old 13/01/2006
alcides's Avatar
alcides alcides is offline
Miembro
 
Join Date: Dec 2003
Location: Republica Dominicana
Posts: 204
Poder: 23
alcides Va por buen camino
el registro que me transfiere es el ultimo del rango de fecha,


Gracias mil,

Alcides
Rep. Dom.
Reply With Quote
  #15  
Old 13/01/2006
vtdeleon's Avatar
vtdeleon vtdeleon is offline
Miembro
 
Join Date: Apr 2004
Location: RD & USA
Posts: 3,236
Poder: 26
vtdeleon Va por buen camino
Has una prueba

Conecta un Dbgrid a ese dataset, quita la linea de Insert, dejando el Select, eeh bueno, arreglalo de manera que puedas mostrarlo en un DBgrid y mira a ver que registros te salen

Saludos
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Reply With Quote
  #16  
Old 13/01/2006
alcides's Avatar
alcides alcides is offline
Miembro
 
Join Date: Dec 2003
Location: Republica Dominicana
Posts: 204
Poder: 23
alcides Va por buen camino
Gracias vtdeleon,

ok, voy hacer la prueba.



Gracias mil,

Alcides
Rep. Dom.
Reply With Quote
  #17  
Old 13/01/2006
alcides's Avatar
alcides alcides is offline
Miembro
 
Join Date: Dec 2003
Location: Republica Dominicana
Posts: 204
Poder: 23
alcides Va por buen camino
gracias mil,
esta es la rutina que finalmente me funciono perfectamente,

PHP Code:
          Tbl_Encabezado.Insert;
          
qry_Encabezado_cheques.Close;
          
qry_Encabezado_cheques.Parameters.ParamByName('pfecha_inicial').Value := strtodate(fecha_inicial.Text);
          
qry_Encabezado_cheques.Parameters.ParamByName('pfecha_final').Value   := strtodate(fecha_final.Text);
          
qry_Encabezado_cheques.Open;
    While 
not qry_Encabezado_cheques.eof do begin
          Tbl_Encabezado
.FieldByName('numero_transacion').Value := qry_encabezado_chequesnumero_cheques.Value;
          
Tbl_Encabezado.FieldByName('fecha_transacion').Value  := qry_encabezado_chequesfecha_cheques.Value;
          
Tbl_Encabezado.FieldByName('tipo_documento').Value    := 1;
          
Tbl_Encabezado.FieldByName('concepto').Value          := qry_encabezado_chequesconcepto_cheques1.Value;
          
Tbl_Encabezado.FieldByName('valor_transacion').Value  := qry_encabezado_chequesvalor_cheques.Value;
          
Tbl_Encabezado.FieldByName('codigo_banco').Value      := 0;
          
Tbl_Encabezado.FieldByName('debito').Value            := qry_encabezado_chequesdebito.Value;
          
Tbl_Encabezado.FieldByName('credito').Value           := qry_encabezado_chequescredito.Value;
          
Tbl_Encabezado.FieldByName('beneficiario').Value      := qry_encabezado_chequesbeneficiario_cheques.Value;
          
Tbl_Encabezado.FieldByName('nulo').Value              := qry_encabezado_chequesnulo_cheques.Value;
          
Tbl_Encabezado.FieldByName('posteada').Value          := ' ';
          
Tbl_Encabezado.Post;
          
Tbl_Encabezado.Close;
          
Tbl_Encabezado.Open;
          
Tbl_Encabezado.Insert;
          
qry_Encabezado_cheques.next
end 
Gracias mil,


Alcides
Rep.Dom.
Reply With Quote
  #18  
Old 13/01/2006
vtdeleon's Avatar
vtdeleon vtdeleon is offline
Miembro
 
Join Date: Apr 2004
Location: RD & USA
Posts: 3,236
Poder: 26
vtdeleon Va por buen camino
Saludos

Por que Etiqueta [php]???
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Reply With Quote
  #19  
Old 18/01/2006
brandolin brandolin is offline
Miembro
 
Join Date: Jul 2003
Location: Mendoza
Posts: 324
Poder: 24
brandolin Va por buen camino
Pregunto? Se podra ejecutar la misma sentencia que el Insert pero para la sentencia UPDATE ????

Gracias
Reply With Quote
  #20  
Old 18/01/2006
vtdeleon's Avatar
vtdeleon vtdeleon is offline
Miembro
 
Join Date: Apr 2004
Location: RD & USA
Posts: 3,236
Poder: 26
vtdeleon Va por buen camino
Saludos

Creo que no es posible, las sintaxis son diferentes.
Código SQL [-]
/*Update*/
update tabla1 set 
campo1=valor1,
campo2=valor2,
campo3=select count(*) from tabla2,
campo4=valor4
where campo5='tata'
/*Insert*/
Insert into tabla1 (campo1, campo2)
values ('tata',213)
/* o tambien insercion en masa */
Insert into tabla1 (campo1, campo2)
Select campo1, campo2 from tabla2
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT +2. The time now is 02:16.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi