PDA

Ver la Versión Completa : seleccionar registros de hace un mes o año


m8estrella83
22-06-2006, 21:58:03
Hola! soy nueva en esto, espero explicarme bien

Necesito hacer una consulta donde seleccione a todos los empleados ke fueron registrados hace un mes, 2 meses, un año, etc, pero la verdad no tengo idea de como hacer la consulta.

Casimiro Notevi
22-06-2006, 22:10:44
y qué usas?

m8estrella83
22-06-2006, 23:44:50
Utilizo delphi 5 y paradox 7

habia pensado hacer una consulta ke selecciones a los empleados ke se registraron entre dos fechas determinadas pero el usuario solo seleccionara de un combobox:

un mes o menos
2 meses
3 meses
6 meses
1 año
2 años
5 años o mas

si me pueden ayudar de antemano muchas gracias

Casimiro Notevi
22-06-2006, 23:55:47
no conozco paradox, pero debe ser algo parecido a esto:

Código SQL [-] (http://www.clubdelphi.com/foros/#)
select *
from templeados
where fecharegistro between ('now'-30) and 'now' /* desde hace un mes hasta hoy */



Código SQL [-] (http://www.clubdelphi.com/foros/#)
select *
from templeados
where fecharegistro between ('now'-365) and 'now' /* desde hace un año hasta hoy */

Lepe
23-06-2006, 12:16:38
Yo te aconsejo que pongas 2 TDatetimepicker para elegir las fechas.

Si quiere un registro de hace 3 años y tiene que mirar un listado de 200 lineas, no le sirve de nada. Acotando las fechas, es mucho más eficiente y cómodo para el usuario.

Siempre puedes poner un PopupMenu, combo o lo que quiereas, que automáticamente escriba las fechas en los 2 TdatetimePicker.

Además te aconsejo usar las funciones de delphi de Fechas, unidad DateUtils:
EncodeDAte, RecodeDate, MonthOf, YearOf, DaysInMonth, etc para modificar las fechas, por aquello de años bisiestos, meses con 31 dias, 30, etc.

Despues la consulta solo tienes que hacer:

select * from ... where Fecha between :ini and :fin


query1.paramsbyname('ini').AsDate := datetimepicker1.date;
query1.paramsbyname('fin').AsDate := datetimepicker2.date;
query1.Open;

m8estrella83
23-06-2006, 16:39:08
Yo te aconsejo que pongas 2 TDatetimepicker para elegir las fechas.



Lo ke pasa es ke el usuario kiere los empleados ke tienen un mes trabajando, o los ke tienen 3 meses o en su caso los ke tienen un año, y creo yo ke pedirle al usuario ke me diga entre ke fechas kiere ke buske no seria lo correcto

Lepe
24-06-2006, 10:48:13
A mi me pidieron exactamente lo mismo, pero variando los periodos, hace 15 días, mes anterior, mes siguiente.

Le puse un botón con el dibujo de un calendario, al dar clic aparece un popup menú con esas opciones además de otras que le ví utilidad. Al final resulta que no lo usan, es más no sacan ni el calendario del DateTimePicker, sino que escriben las fechas a mano.¿Por qué? Porque cuando usan el programa, tienen los papeles encima de la mesa, tienen las fechas delante y no lo asocian mentalmente con la fecha actual y la fecha de hace 1 ó 3 meses, sino que piensan: "desde el mes 3 al mes 6".

Además esos requerimientos cambian muy fácilmente, basta que el gobierno dé facilidades, para que ahora hagan contratos por 6 meses en lugar de por 3, y en ese caso... ¿qué? modificar el programa para añadir esa pequeña opción?.

Desde luego, lo más fácil es hacer lo que te han pedido, ¿un combobox? pues vale ;), si después te piden modificaciones... pues se cobra aparte ;).

Saludos