Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-04-2007
Avatar de alcides
alcides alcides is offline
Miembro
 
Registrado: dic 2003
Ubicación: Republica Dominicana
Posts: 204
Poder: 21
alcides Va por buen camino
Datos de una tabla a otra

Hola para todos,

utilizo delphi 7 y mis tablas estan en access
resulta que tengo dos tablas, Tbl_Encabezado y Tbl_encabezado_cheques y todos los meses paso todos los datos de mi tabla Tbl_Encabezado_cheques a la tabla Tbl_Encabezado, utilizo parametro de fecha: el caso es que paso enero bien, cuando paso a febrero se supone que como utilizo parametro de fecha debe obviar a enero pero entonces me duplica la informacion de enero. Esto es lo que tengo.

Código SQL [-]
         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('concepto').Value          := qry_encabezado_chequesconcepto_cheques1.Value;
          Tbl_Encabezado.FieldByName('valor_transacion').Value  := qry_encabezado_chequesvalor_cheques.Value;
          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.Post;
          Tbl_Encabezado.Close;
          Tbl_Encabezado.Open;
          Tbl_Encabezado.Insert;
          qry_Encabezado_cheques.next
end

Gracias mil,


Alcides
Rep.Dom.
Responder Con Cita
  #2  
Antiguo 09-04-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Tbl_Encabezado.Insert;

debe ser la primera línea dentro del bucle while, si Tbl_Encabezado no está en modo edición, debería lanzar un error. Aparte de ese error, estarías "machacando" un registro que ya existe en Tbl_Encabezado al asignar los valores de los campos.

- Como consejo, no uses un Edit para las fechas, en su lugar usa un TDateTimePicker. Quizás haya problemas con el formato de fecha dd/mm/yyyy o mm/dd/yyyy y por eso interpreta las fechas mal.

- Sin el SQL de qry_Encabezado_cheques, poco podemos adivinar.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 09-04-2007
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 Lepe por las recomendaciones,

la tabla Tbl_Encabezados debo manejarla en insert porque los registros que llevo a ella son nuevo, y tu me dices que debo tenerla en edit, de todas maneras voy hacer unos ajustes dentro del bucle.


Gracias mil,


Alcides
Rep.Dom.
Responder Con Cita
  #4  
Antiguo 09-04-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Lo que yo digo es esto:
Código Delphi [-]
        
// Tbl_Encabezado.Insert; aqui esto sobra.
          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.Insert; 
// ahora si, antes de dar valores, y sabiendo
// que hay un registro en qry_encabezado, pues hacemos el insert.


          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('concepto').Value          := qry_encabezado_chequesconcepto_cheques1.Value;
          Tbl_Encabezado.FieldByName('valor_transacion').Value  := qry_encabezado_chequesvalor_cheques.Value;
          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.Post;
          Tbl_Encabezado.Close;
          Tbl_Encabezado.Open;
//          Tbl_Encabezado.Insert; esto provocaría que al terminar el bucle
// quede un registro en blanco en la tabla Encabezado, es decir,
// siempre que se ejecute el bucle, dejará un registro en blanco.
          qry_Encabezado_cheques.next
end

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 09-04-2007
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 Lepe, se ejecuto perfectamente bien.


Gracias mil,


Alcides
Rep.Dom.
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
ingresar datos en una tabla de otra tabla ajum Tablas planas 5 14-07-2007 19:56:20
Actualizar un campo de una tabla con datos que se encuentran en otra tabla Morphine SQL 4 15-12-2006 22:47:42
Dbgrid para insertar en una tabla pero cogiendo datos de otra tabla taru MySQL 1 27-07-2006 15:36:12
insert a una tabla de otra tabla mas datos gmontes SQL 3 16-10-2004 17:04:51
Como insertar datos de una tabla en otra tabla? Salomon Firebird e Interbase 1 28-08-2003 11:29:40


La franja horaria es GMT +2. Ahora son las 01:59:19.


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