Ver Mensaje Individual
  #1  
Antiguo 27-06-2007
Avatar de MaMu
MaMu MaMu is offline
Miembro
 
Registrado: abr 2006
Ubicación: Argentina
Posts: 863
Reputación: 19
MaMu Va por buen camino
Copiar registro de una Tabla a otra Tabla, sin repetirse

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
__________________
Código Delphi [-]
 
try 
ProgramarMicro(80C52,'Intel',MnHex,True);
except
On Exception do
MicroChip.IsPresent(True);
end;
Responder Con Cita