Buscar un numero mayor que


([N1] JaimeNA) #1

Buenas noches a todos:

1. Quiero crear una búsqueda que busque registros que cumplan la condición mayor que el número facilitado en un formulario, en concreto el precio de los artículos. Buscar los registros menores que otro es fácil creando un componente que busque entre límites cuyo límite inicial sea 0 y el final el número dado. Al contrario no sirve porque el límite final sería infinito o el precio más alto que haya en ese momento, según escribo se me ocurre darle ese valor a una variable global antes de la búsqueda, pero ¿sabéis si existe otro método más sencillo?

Muchas gracias de antemano


([N1] Pepeto) #2

Como bien deices tu mismo, la mejor forma es hacer la busqueda "Entre limites" por el indice correspondiente y asignar el "Limite inicial" con el importe del formulario y el "Limite final" con un importe muy elevado para que todos los importes esten incluidos.

un saludo
Jose Luis
http://www.ascsl.com


([N3] blanyi) #3

Hola JaimeNA.

Yo lo resolví según comenta Pepeto. Por ejemplo si quieres tener los artículos cuyo precio sea mayor que 20. Deberías hacer lo siguiente:
- Crear un indice por el campo precio
- Crear una búsqueda con un componente de búsqueda por el indice del campo precio entre limites. Entonces el limite inicial sería resuelto con 20+1 (20+1 porque como es entre limite si colocamos 20 solamente los registros devueltos incluirán los que tengan inclusive ese precio. Otra forma sería que en formulario en vez de digitar 20 digitaras 21) y el limite final con 999999999999 o un valor mayor si fuera tu caso.

Espero te sirva.

YIMY MORA ACONCHA


([N1] JaimeNA) #4

Muchas gracias a los dos por vuestras respuestas. No habiendo otra forma, al final os comento lo que he hecho por si le sirve a alguien más:

-como lanzo la búsqueda desde un evento con un manejador de objeto, lo que hago es cargar la lista de artículos ordenada por precio, invierto el orden y asigno el valor del primer campo (en teoría el de mayor precio) a una variable local (no hace falta que sea global como dije al principio)

-Pasó la variable local a otra del mismo nombre que creo en la búsqueda y que sirve de límite final de la búsqueda entre límites, de esta forma el límite final siempre es el precio más alto que está registrado en cada momento.

A lo mejor me he complicado un poco y con poner un número imposible en el límite final, como decís vosotros, era suficiente.