Ver Mensaje Individual
  #1  
Antiguo 02-04-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Reputación: 21
AGAG4 Va por buen camino
Busqueda Lenta por Rango de Fechas....

Tengo la siguiente tabla en dBase T_Mov.dbf con los Campos:
Fecha , Tipo Mov Factura
01/01/2000 FM 314567
01/01/2000 FM 314568
01/01/2000 FM 314569
01/01/2000 FM 314570
.....

Tiene 1 indice dtos(FECHAMOV)+TIPOMOV+FACTURA que se llama idx_Mov.ntx

Nota: No quiero agregar otro indice, el motivo es porque ya no me permite el compilador de Clipper hacerlo .

Esto lo hago en Delphi:
Tengo un Componente para manipular NTX de clipper que se llama VKDBFDataSet, lo configuro y hago lo siguiente, antes de buscar le asigno el indice para que me los ordene, pero al buscar con FindNearest ó Locate, Busco primero por el Rango Inicial de la Fecha de esta forma:
Código Delphi [-]
FindNearest(['01/01/2000', 'FM']);
ó
Locate('FECHAMOV;TIPOMOV', VarArrayOf(['01/01/2000', 'FM']), [loCaseInsensitive,loPartialKey]
Si no la encuentra tengo que sumarle 1 día para VER SI EXISTE, Si No Existe Entonces Continua el Ciclo hasta encontrar el Día más proximo a la Fecha Inicial, pero Si lo encuentra ahora Toma los datos de esa fecha hasta que sea menor a la Fecha Final.
Como ven es algo teodico, pero lo que me pasa es que es LENTISIMO para encontrar la Fecha INICIAL, Agradecería como Encontrar la forma de que sea más rápido sin añadir un indice....

Que tengan buen día.
Responder Con Cita