Ver Mensaje Individual
  #1  
Antiguo 28-10-2008
lKinGl lKinGl is offline
Miembro
 
Registrado: ago 2007
Posts: 333
Reputación: 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