Despues de 42 horas sin dormir, me encuentro con que no puedo conseguir algo muy sencillo, tengo dos tablas, y quiero añadirle registros de una a la otra, unicamente cuando estos sean distintos, y lo que hago es lo siguiente:
QAux--->Tabla A
QEstadisticas---->Tabla B
Quiero copiar de A en B, solo aquellos registros que no sean identicos a los de B, segun una condicion X.
Código Delphi
[-]
for h:=0 to QAux.RecordCount-1 do
begin
b:=0;
for j:=0 to QEstadisticas.RecordCount-1 do
begin
if QAux.FieldByName('conceptoDEBE').AsString=QEstadisticas.FieldByName('valor').AsString
then b:=b+1 else b:=b;
QEstadisticas.Next;
end;
if b=0
then begin
QEstadisticas.Insert;
try
QEstadisticas.FieldByName('categoria').AsString:='Gastos Generales';
QEstadisticas.FieldByName('valor').AsString:=QAux.FieldByName('conceptoDEBE').AsString;
QEstadisticas.FieldByName('cantidad').AsInteger:=QAux.FieldByName('cantidad').AsInteger;
QEstadisticas.FieldByName('subtotal').AsCurrency:=QAux.FieldByName('importe').AsCurrency;
QEstadisticas.Post;
except
QEstadisticas.Cancel;
end;
end;
QAux.Next;
end;
Pero me copia aun los que estan repetidos, es decir, son identicos en ambas tablas, A y B.
Que estoy haciendo mal? (ademas de no dormir, pero tengo que terminar si o si para poder tomarme unos dias de descanso)
Saludos