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 ...