FoxPro/Visual FoxPro - vacaciones fecha

 
Vista:

vacaciones fecha

Publicado por Ernesto Ruiz (134 intervenciones) el 23/02/2007 21:49:48
hola que tal de nuevo, tengo una tabla que se llama empleados, los cuales tengo alrededor de 300 registros (empleados), tengo varios campos, entre ellos fecha_in la cual es la fecha de ingreso a la que entro a trabajar

necesito saber como le puedo hacer para obtener por medio de un sql u otra forma, cuales son los empleados que se merecen las vacaciones segun el dia en el que estemos viviendo por medio de su fecha de ingreso.

supongamos
supongamos que fecha_in es= 23/02/2005

ocupo saber que cada 23 del mes de febrero me este diciendo que ese empleado ya tiene vacaciones, de esa forma, pero lo ocupo para todos los empleados.
"Que me muestre cuales empleados son los que ya cumplen sus vacaciones"

Nota.- los 300 empleados tienen diferentes fechas de ingreso

Quien me iluminara de nuevo? Plinio? Tocayo (Ernesto Hernandez)? neo? Roman? o alguien mas?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:vacaciones fecha

Publicado por Plinio (7841 intervenciones) el 23/02/2007 21:59:19
Las vacaciones son anuales???, puedes determinar si estan en el mismo mes por ejemplo. El caso es que debieras aclarar para que fecha tu empleado debe tomar las vacaciones. Un simple ejemplo seria el siguiente, tomando en cuenta el mismo mes de ingreso.

SELECT * FROM empleados WHERE MONTH(DATE()= MONTH(fecha_ingreso)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:vacaciones fecha

Publicado por Ernesto Hernandez (4623 intervenciones) el 24/02/2007 02:19:35
tambien puedes determinar el numero de meses entre 2 fechas y asi saber cuando exactamente sera el dia de vacaciones

FUNCTION MesesEntreFechas(pdFecha2, pdFecha1)
LOCAL lnAnio AS INTEGER, lnMes AS INTEGER
lnAnio = YEAR(pdFecha2) - YEAR(pdFecha1)
lnMes = MONTH(pdFecha2) - MONTH(pdFecha1)
RETURN ((lnAnio * 12) + lnMes)
ENDFUNC

Un poco mas complicado pero tambien funciona

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:vacaciones fecha

Publicado por neo (1604 intervenciones) el 24/02/2007 02:46:43
Saludos..

Puedes realizar un conteo desde el ingreso a la fecha actual, si se trata de vacaciones por año. lo conviertes a numerico y con eso puedes trabajar mejor.

Utiliza las funciones: Year(), Month() y Day().

Si deseas puedes explicar un poco mas y probablemente te podamos ayudar mejor.

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 29
Ha aumentado su posición en 2 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:vacaciones fecha

Publicado por richard (197 intervenciones) el 24/02/2007 11:50:36
compañero

las ideas de los compañeros funciona a hora es como lo vas aplicar, son dos fechas ingreso y la del sistema o actual :

pudes hacerlos per mes y el te va a mostrar las personas que salen a vaciones
o tambien que te indique los dias que falten para la vacación , o tambien te indique si paso la fecha debe salir de vacaciones.

son diferentes variables que te debes plantear y listo y utiliza las herramientas de los compañeros te brindaron

espero te sirva la observación


richard
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:vacaciones fecha

Publicado por Ernesto Ruiz (134 intervenciones) el 24/02/2007 18:42:33
Bueno, eh leido todas las opciones que me han dado, y si me han funcionado, pero el verdadero ploblema que tengo es que ya estoy totalmente revuelto.
El problema es el siguiente
tengo dos tablas ( empleados,vacaciones)

* necesito saber que cada ano me diga quienes son los empleados que ya se merecen vacaciones segun su fecha de ingreso.
* que cuando se programe unas vacaciones se vaya guardando en la tabla vacaciones, con el codigo del empleado correspondiente.
* y que al año siguiente vuelva aparecer que ese empleado ya tiene derecho a vacaciones.
NOTA.- HASTA AHI VOY BIEN
* pero si programo otras vacaciones para un mismo empleado que ya se le habia programado el año pasado, como le tengo que hacer para volverlas a programar, para que el sistema identifique que ese empleado ya goso de vacaciones del año pasado y que le falta gozar vacaciones de este año.

pseudocodigo:

ejemplo:
año: 2006 febrero
* identifico quienes tienen derecho a vacaciones.
* me muestra a 100 personas con derecho a vacaciones.
* programo a 1 un empleado sus vacaciones y se guarda en tabla vacaciones.
* vuelvo a ver quienes tienen derecho a vacaciones y me deberia de aparecer 99
empleados.
asi sucesivamente hasta programar los 99 restantes.
año 2007 febrero
como le hago para que me identifique esos mismos 100 empleados.

segun esto es lo que debo de hacer, pero la verdad ya estoy muy confundido. yo tenia el siguiente codigo:
---------------------------------------------------------------------------------------------------
BOTON (derecho a vacaciones)
hoy=DATE()
ano=YEAR(DATE())
SELECT codigo,apellidos,nombre,departa(depto) depto FROM empleados ;
WHERE MONTH(fecha_in)=MONTH(DATE()) ;
INTO CURSOR _empleados
----------------------------------------------------------------------------------------------------
BOTON(APLICAR VACACIONES)
INSERT INTO vacaciones(codigo_e,fecha_in,fecha_out,d_vaca,d_des,imp_fes,imp_vac,imp_des,sueldo_vac,total);
values(.text1.value,.fecha_in.value,.fecha_out.value,.text3.value,.text8.value,.text13.value;
,.text7.value,.text10.value,.text12.value,.text11.value)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:vacaciones fecha

Publicado por Ernesto Ruiz (134 intervenciones) el 24/02/2007 20:13:26
caballeros, dejenme informarles que ya eh solucionado el problema que tenia de la siguiente manera:

SELECT * FROM vacaciones WHERE YEAR(vacaciones.ano)<YEAR(DATE()) INTO CURSOR na && empleados vacaciones != hoy
SELECT * FROM vacaciones WHERE YEAR(vacaciones.ano)=YEAR(DATE()) INTO CURSOR na1
SELECT codigo,apellidos,nombre,departa(depto) depto FROM empleados ;
WHERE (MONTH(fecha_in)=MONTH(DATE()) AND codigo in(SELECT codigo_e FROM na) AND codigo NOT in(SELECT codigo_e FROM na1));
INTO CURSOR _empleados

de esa manera lo resolvi, de todas maneras, muchas gracias a plinio, neo, tocayo y a richard.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:vacaciones fecha

Publicado por Ernesto Hernandez (4623 intervenciones) el 24/02/2007 21:42:22
Buen razonamiento tocayo

Que bueno que ya quedo


Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar