Ver Mensaje Individual
  #3  
Antiguo 01-06-2011
agustibaldo agustibaldo is offline
Miembro
 
Registrado: nov 2006
Posts: 105
Reputación: 18
agustibaldo Va por buen camino
Tienes razón.. mis disculpas..

Código Delphi [-]
/* CONSULTA SOBRE PARADOX */
qeResultado2.Active := false;
qeResultado2.SQL.Clear;
qeResultado2.SQL.Add('SELECT D.Tipo, D.Talonario, D.Nro, D.Cuenta, D.FechaVto, D.FechaAcr, '+
                     '       D.CodBco, D.NroExt, D.Importe, D.Origen, D.Estado, D1.Nombre '+
                     'FROM Valores D, Bancos D1 '+
                     'WHERE (D1.Codigo = D.CodBco) '+
                     'AND (D.Estado IN (100, 101, 102, 103, 104)) ');
qeResultado2.SQL.Add('AND D.FechaAcr >= ''' + FormatDateTime('mm/dd/yyyy', Date) + '''');
qeResultado2.Active := true;

/* CONSULTA SOBRE SQL SERVER */
sqlQueryDefaultAux2.Active := false;
sqlQueryDefaultAux2.SQL.Clear;
sqlQueryDefaultAux2.SQL.Add('SELECT Cliente, Zona '+
                            'FROM Cuentas.Clientes '+
                            'WHERE Zona IN (' + Zonas + ') ');
sqlQueryDefaultAux2.Active := true;

if not tbResultado2.Active then
   tbResultado2.Open;
tbResultado2.EmptyTable;
qeResultado2.First;
while not qeResultado2.Eof do
begin
   if sqlQueryDefaultAux2.Locate('Cliente', qeResultado2.FieldByName('Cuenta').AsInteger, []) then
   begin
      tbResultado2.Insert;
      tbResultado2.FieldByName('Tipo').AsString := qeResultado2.FieldByName('Tipo').AsString;
      tbResultado2.FieldByName('Talonario').AsInteger := qeResultado2.FieldByName('Talonario').AsInteger;
      tbResultado2.FieldByName('Nro').AsInteger := qeResultado2.FieldByName('Nro').AsInteger;
      tbResultado2.FieldByName('Zona').AsInteger := sqlQueryDefaultAux2.FieldByName('Zona').AsInteger;
      tbResultado2.Post;
   end;
   qeResultado2.Next;
end;

donde tbResultado2 es una tabla en Paradox donde quiero guardar la información que recupero.
Esto surge a raíz de que tengo que unir tablas que se encuentran en Paradox y SQL Server.
Aproximadamente qeResultado2 recupera 1700 registros que recorre y compara con un Locate contra el query en SQL Server.

El error "salta" después de numerosos bucles del while en if sqlQueryDefaultAux2.Locate('Cliente', qeResultado2.FieldByName('Cuenta').AsInteger, []) then.

Cualquier detalle consultame y trato de explicarlo mejor.
De paso te consulto, existe alguna forma de linkear tablas en Paradox con SQL Server y ahorrarme esto?

Desde ya, muchas gracias.
Saludos.
Responder Con Cita