# Búsqueda entre límites

**URL:** <https://foros.velneo.com/t/busqueda-entre-limites/8584>\
**Category:** Velneo\
**Created:** [21 Diciembre, 2015 15:35 UTC](https://foros.velneo.com/t/busqueda-entre-limites/8584 "2015-12-21T15:35:56Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![runasoft](https://avatars.discourse-cdn.com/v4/letter/r/c57346/32.png) [@runasoft](https://foros.velneo.com/u/runasoft)\
**Post date:** [21 Diciembre, 2015 15:35 UTC](https://foros.velneo.com/t/busqueda-entre-limites/8584/1 "2015-12-21T15:35:56Z")

</div>

Hola foro:  
Tengo una tabla Actividades con campos ID, NAME, FCH\_INI, FCH\_FIN. Los índices aparte de ID y NAME son FCH\_INI y FCH\_FIN.  
Lo que quiero es que en una búsqueda salgan los que estén dentro de un intervalo de tiempo(FCH\_DESDE y FCH\_HASTA), por ejemplo para:  
Fecha inicio — Fecha final  
15/12/2015 ----- 21/12/2015

Si los registros de la tabla Actividades son:  
Activid Fecha inicial Fecha final  
1-------11/12/2015 ---- 14/12/2015  
2-------13/12/2015 ---- 15/12/2015  
3-------16/12/2015 ---- 17/12/2015  
4-------20/12/2015 ---- 21/12/2015  
5-------21/12/2015 ---- 22/12/2015  
El 3 y 4 son los registros aptos.  
Hice una búsqueda entre límites con:  
Indice FCH\_INI: limite inicial FCH\_INI(FCH\_DESDE) y limite final= FCH\_INI(FCH\_HASTA)  
Indice FCH\_FIN: limite inicial FCH\_FIN(FCH\_DESDE) y limite final= FCH\_FIN(FCH\_HASTA)  
Ambos con cruzar  
Pero me salen todos los registros, que variacion puedo hacer, ya intente incluso con un solo indice FECHA con partes índice FCH\_INI y FCH\_FIN pero nada.

Gracias anticipadas

---

<div class="post-metadata">

**Author:** ![tic-software](https://avatars.discourse-cdn.com/v4/letter/t/c4cdca/32.png) [@tic-software](https://foros.velneo.com/u/tic-software)\
**Post date:** [21 Diciembre, 2015 17:41 UTC](https://foros.velneo.com/t/busqueda-entre-limites/8584/2 "2015-12-21T17:41:46Z")

</div>

Hola.

Lo que quieres realmente es quitar de la lista los que empezaron antes de FCH\_DESDE y los que terminaron después de FCH\_HASTA.

No sé si con ese concepto se me escapa algún caso.

El tema sería ponerle 3 componentes.

1 - Todo el fichero  
2 - Indice FCH\_INI entre límites de tipo Quitar (Quitas los que empezaron antes de la fecha inicial)

Inicial: FCH\_INI(setdate(1977,1,1))  
Final: FCH\_INI(addDays(FCH\_DESDE, -1))

3 - Indice FCH\_FIN entre límites de tipo Quitar (Quitas los que terminaron después de la fecha final)

Inicial: FCH\_FIN(addDays(FCH\_HASTA, 1))  
Final: FCH\_FIN(setdate(2050,12,31)

No lo he probado, pero por ahí van los tiros.

Un saludo

---

<div class="post-metadata">

**Author:** ![runasoft](https://avatars.discourse-cdn.com/v4/letter/r/c57346/32.png) [@runasoft](https://foros.velneo.com/u/runasoft)\
**Post date:** [21 Diciembre, 2015 17:47 UTC](https://foros.velneo.com/t/busqueda-entre-limites/8584/3 "2015-12-21T17:47:11Z")

</div>

Muchas gracias amigo Infortic lo probaré

---

<div class="post-metadata">

**Author:** ![runasoft](https://avatars.discourse-cdn.com/v4/letter/r/c57346/32.png) [@runasoft](https://foros.velneo.com/u/runasoft)\
**Post date:** [21 Diciembre, 2015 22:44 UTC](https://foros.velneo.com/t/busqueda-entre-limites/8584/4 "2015-12-21T22:44:56Z")

</div>

No se porque no sale todo parece estar correcto. Le quito los 2 componentes de fecha y aparecen todos los registros.

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/0/082d94a110f9043f17f95df7ac6785f6a5f4d9c2.png)

---

<div class="post-metadata">

**Author:** ![tic-software](https://avatars.discourse-cdn.com/v4/letter/t/c4cdca/32.png) [@tic-software](https://foros.velneo.com/u/tic-software)\
**Post date:** [22 Diciembre, 2015 07:44 UTC](https://foros.velneo.com/t/busqueda-entre-limites/8584/5 "2015-12-22T07:44:33Z")

</div>

Hola.

Las variables FCH\_INI y FCH\_FIN son correctas (de tipo Fecha).

¿Se están pasando correctamente a la búsqueda?

¿Los índices están bien definidos?

Prueba cada componente de la búsqueda por separado.

---

<div class="post-metadata">

**Author:** ![runasoft](https://avatars.discourse-cdn.com/v4/letter/r/c57346/32.png) [@runasoft](https://foros.velneo.com/u/runasoft)\
**Post date:** [22 Diciembre, 2015 12:07 UTC](https://foros.velneo.com/t/busqueda-entre-limites/8584/6 "2015-12-22T12:07:28Z")

</div>

Pues los campos y los índices de tipo fecha, las variables en el formulario están de tipo fecha, las variables de la búsqueda también de tipo fecha, el manejador del objeto búsqueda de la manera habitual, la vista de datos del formulario tanto el proceso y la rejilla con la misma tabla.

Sólo se me ocurre recrear esto en un nuevo .vin

---

<div class="post-metadata">

**Author:** ![runasoft](https://avatars.discourse-cdn.com/v4/letter/r/c57346/32.png) [@runasoft](https://foros.velneo.com/u/runasoft)\
**Post date:** [22 Diciembre, 2015 15:09 UTC](https://foros.velneo.com/t/busqueda-entre-limites/8584/7 "2015-12-22T15:09:51Z")

</div>

Hice de nuevo en un nuevo proyecto y el resultado es el correcto, pero en el que quiero sigue igual algo habrá cambiado en el copiar y pegar???

En fin habrá que rehacer esa parte.

Gracias por tu atención amigo Infortic

---

<div class="post-metadata">

**Author:** ![tic-software](https://avatars.discourse-cdn.com/v4/letter/t/c4cdca/32.png) [@tic-software](https://foros.velneo.com/u/tic-software)\
**Post date:** [22 Diciembre, 2015 16:34 UTC](https://foros.velneo.com/t/busqueda-entre-limites/8584/8 "2015-12-22T16:34:47Z")

</div>

Hola.

¿ Has regenerado índices a ver si se soluciona ?

Prueba los componentes de la búsqueda uno a uno, en lugar de como quitar como añadir, poniéndole a los demás la condición 0, para saber cómo se están resolviendo los índices y hacerte una idea de que parte de la búsqueda está fallando.

---

<div class="post-metadata">

**Author:** ![osican](https://avatars.discourse-cdn.com/v4/letter/o/f6c823/32.png) [@osican](https://foros.velneo.com/u/osican)\
**Post date:** [22 Diciembre, 2015 19:45 UTC](https://foros.velneo.com/t/busqueda-entre-limites/8584/9 "2015-12-22T19:45:37Z")

</div>

Espero que esto te pueda ayudar.

!( %FECHA-PAGO% \< $BUS-FCH-DESDE$ ) ; PARA LA FECHA INICIAL  
!( %FECHA-PAGO% \> $BUS-FCH-HASTA$ ) ; PARA LA FECHA FINAL

Saludos.
