Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
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 06-01-2006
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
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.
Responder Con Cita
  #2  
Antiguo 06-01-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.934
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por 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.
Responder Con Cita
  #3  
Antiguo 06-01-2006
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
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.
Responder Con Cita
  #4  
Antiguo 07-01-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
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!
Responder Con Cita
  #5  
Antiguo 07-01-2006
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
alcides Va por buen camino
Código:
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'
Responder Con Cita
  #6  
Antiguo 07-01-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
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!
Responder Con Cita
  #7  
Antiguo 10-01-2006
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
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.

Última edición por delphi.com.ar fecha: 10-01-2006 a las 20:52:11.
Responder Con Cita
  #8  
Antiguo 10-01-2006
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.934
Poder: 27
delphi.com.ar Va por buen camino
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.
Responder Con Cita
  #9  
Antiguo 13-01-2006
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
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.


Código PHP:
       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.
Responder Con Cita
  #10  
Antiguo 13-01-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
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!
Responder Con Cita
  #11  
Antiguo 13-01-2006
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
alcides Va por buen camino
gracias vtdeleon,

en el rango de fecha hay 18 registros.


Gracias mil,

Alcides
Rep.Dom.
Responder Con Cita
  #12  
Antiguo 13-01-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
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!
Responder Con Cita
  #13  
Antiguo 13-01-2006
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
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.
Responder Con Cita
  #14  
Antiguo 13-01-2006
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
alcides Va por buen camino
el registro que me transfiere es el ultimo del rango de fecha,


Gracias mil,

Alcides
Rep. Dom.
Responder Con Cita
  #15  
Antiguo 13-01-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
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!
Responder Con Cita
  #16  
Antiguo 13-01-2006
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
alcides Va por buen camino
Gracias vtdeleon,

ok, voy hacer la prueba.



Gracias mil,

Alcides
Rep. Dom.
Responder Con Cita
  #17  
Antiguo 13-01-2006
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
alcides Va por buen camino
gracias mil,
esta es la rutina que finalmente me funciono perfectamente,

Código PHP:
          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.
Responder Con Cita
  #18  
Antiguo 13-01-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
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!
Responder Con Cita
  #19  
Antiguo 18-01-2006
brandolin brandolin is offline
Miembro
 
Registrado: jul 2003
Ubicación: Mendoza
Posts: 324
Poder: 21
brandolin Va por buen camino
Pregunto? Se podra ejecutar la misma sentencia que el Insert pero para la sentencia UPDATE ????

Gracias
Responder Con Cita
  #20  
Antiguo 18-01-2006
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
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!
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


La franja horaria es GMT +2. Ahora son las 23:02:50.


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