Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #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
Poder: 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
  #2  
Antiguo 02-04-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Y por qué no permite el compilador de Clipper agregarlo?

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
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
Poder: 21
AGAG4 Va por buen camino
Por....

No me permite agregar otro indice porque ha llegado al limite de Indices que permite Clipper, esa es la razón por la que ando buscando como hacerlo sin apoyarme con un indice y no puedo Eliminar algun Indice porque la Aplicación los Usa todos....

Saludos.
Responder Con Cita
  #4  
Antiguo 02-04-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Y cuantos índices tienes, porque yo trabajando con clipper nunca he tenido ese problema.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #5  
Antiguo 05-04-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Uso

Uso 54 indices, pero aprovechando, de casualidad usted no usa algun componente para los NTX en delphi????, lo que pasa es que por lo que ve el GotoNearest no me funciona como debíera.

Gracias.
Responder Con Cita
  #6  
Antiguo 06-04-2005
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
oki

Ya resolví mi problema con los componentes que manipulan NTX, tuvimos que moverle el Código al mismo componente para que realizará las busquedas Suaves de las que le comente, lo que pasa es que hay una función que se llama FindKey donde le cambiamos solo el parámetro SoftSeek a true ya con eso funciono el GotoNearest.... menciono esto por si alguien se mete en este aprieto con estos componentes.... Gracias MarcosZorrilla por sus respuestas.
Código Delphi [-]
SoftSeek:=true;
FindKey(Key, false, SoftSeek);

Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 15:53:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi