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 28-10-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
Exclamation Datos de una tabla a otra

Salu2 amigos foristas...

tengo un formulario que tiene lo siguiente:

2 combobox
1 edit
3bitbtn

lo que se quiere es lo siguiente:

en la misma aplicacion hay un formulario el cual se llena una base de datos....bla bla bla..

y en el formulario actual necesito cargar una nueva base de datos provenientes de la nombrada anteriormente (por que la primera que mencioné es temporal)....

y necesito que si un registro de la table14 tiene todos los campos igual a los de table11 entonces no debe pasar nada de lo contrario agregarlos

por que despues debo mostrar un quickreport con lo filtrado con los combobox 1 y 2

en el boton aceptar tengo este código, no da error, pero no cumple con lo que necesito:

Código Delphi [-]
var
mes,ano,grupo,descr:String;
fecha:TDate;
deber,haberouble;
Reg:Boolean;
begin
if form1.Table14.RecordCount<1 then
  begin
    form1.Table11.First;
      with form1.Table14 do
        begin
          while not Eof do
            begin
              Insert;
              FieldValues['fecha']:=form1.Table11.FieldValues['fecha'];
              FieldValues['Grupo']:=form1.Table11.FieldValues['Grupo'];
              FieldValues['Des_cu']:=form1.Table11.FieldValues['desc_cu'];
              FieldValues['debe']:=form1.Table11.FieldValues['debe'];
              FieldValues['haber']:=form1.Table11.FieldValues['haber'];
              Post;
            end;
            Next;
        end;
  end
  else
  begin
    With form1.Table11 do
      begin
        while not Eof do
          begin
            fecha:=FieldValues['fecha'];
            grupo:=FieldValues['grupo'];
            descr:=FieldValues['desc_cu'];
            deber:=FieldValues['debe'];
            haber:=FieldValues['haber'];
              With Form1.Table14 do
                begin
                  if (fecha=form1.Table11.FieldByName('fecha').AsDateTime) and (grupo=form1.Table11.FieldByName('grupo').AsString) and (descr=form1.Table11.FieldByName('desc_cu').AsString) and (deber=form1.Table11.FieldByName('debe').AsFloat) and (haber=form1.Table11.FieldByName('haber').AsFloat) then
                    begin
                      Reg:=true;
                    end
                    else
                    begin
                      Reg:=False;
                    end;
                end;
            if Reg = False then
              begin
                With form1.Table14 do
                  begin
                    Insert;
                    FieldByName('fecha').AsDateTime:=fecha;
                    FieldByName('grupo').AsString:=grupo;
                    FieldByName('desc_cu').AsString:=descr;
                    FieldByName('debe').AsFloat:=deber;
                    FieldByName('haber').AsFloat:=haber;
                    Post;
                  end;
              end;
          end;
        Next;
      end;
  end;

if ComboBox1.Text='Seleccione Mes' then
  begin
    Application.MessageBox('Disculpe, debe seleccionar un Mes','');
    exit;
  end;

if ComboBox2.Text='Seleccione Año' then
  begin
    Application.MessageBox('Disculpe, debe seleccionar un Año','');
    exit;
  end;

mes:=IntToStr(ComboBox1.ItemIndex+1);
ano:=ComboBox2.Text;
edit1.Text:='01'+'/'+mes+'/'+ano;

with Form45.Query1 do begin
   Close;
   SQL.Text := 'Select Fecha,grupo,des_cu,debe,haber '+
             'from costosygastos.db '+
             'where Extract(month from fecha) = '+IntToStr(MonthOf(StrToDate(Edit1.Text)))+
             ' and Extract(year from fecha) = '+IntToStr(YearOf(StrToDate(Edit1.Text)));
   Open;
end;
form45.QRLabel1.Caption:='Costos y Gastos de '+ComboBox1.Text+' de '+ComboBox2.Text;
form45.QuickRep1.Preview;
exit;
end;

Agradezco mucho su tiempo ...
__________________
Las cosas o son, o no son...

Última edición por lKinGl fecha: 29-10-2008 a las 00:27:06.
Responder Con Cita
  #2  
Antiguo 29-10-2008
Avatar de Fenareth
[Fenareth] Fenareth is offline
Miembro Premium
 
Registrado: oct 2007
Ubicación: Guadalajara, Jalisco, México
Posts: 494
Poder: 17
Fenareth Va por buen camino
Hola lKinGl !

Por lo que pude revisar hasta que me fui, tienes unos errores en cuanto a las referencias a las tablas...

Sigo viendo algunos detalles interesantes de tu código, espero poder terminar de checarlos y ayudarte...

Saluditos
__________________
Ask questions. Think for yourself. Wake up and you’ll make the difference
Responder Con Cita
  #3  
Antiguo 29-10-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Me da la impresión de que se complica el código y la esencia de lo que se quiere hacer.
Comprobar todo el contenido me parece complicado, tedioso, lento etc.
Yo lo que haría es comprobar un campo determinado, no se, tal vez un numero único y si este ya existe entonces que se cumplan las condiciones que necesites.
Bueno, es solo una opinión, veo que Fenareth te esta ayudando, ella sabrá que es lo mejor en este caso.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 29-10-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
correcto caral pero en la tabla origen no hay campo clave
__________________
Las cosas o son, o no son...
Responder Con Cita
  #5  
Antiguo 29-10-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pero que importa que no tenga un campo clave?.
Cualquier campo sirve, cualquier dato que no se repita.
No conozco tu tabla, pero siempre hay algo de donde agarrarse.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 29-10-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Poder: 17
lKinGl Va por buen camino
necesito es comparar porque puedo tener exactamente la misma linea pero si tiene distinto un monto debe agregarse osea por una minima diferencia debe agregarse de lo contrario se omite .... pero lo que se omite debo estar 100% seguro que esta repetido
__________________
Las cosas o son, o no son...
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
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
Actualizar tabla con datos de otra tabla mediante UPDATE Rockin Firebird e Interbase 18 28-11-2007 19:15:42
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
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


La franja horaria es GMT +2. Ahora son las 03:06:42.


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