Ver Mensaje Individual
  #6 (permalink)  
Antiguo 02/02/2011, 09:47
Avatar de pacoelherrero
pacoelherrero
 
Fecha de Ingreso: enero-2011
Mensajes: 5
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Ayuda!!Espacio de pila insuficiente

Cita:
Iniciado por Heimish2000 Ver Mensaje
Como te han dicho, el error que te da es porque entra en una serie de llamadas recursivas infinitas.

Para el otro problema, ¿Por qué no usas la función DateDiff? ¿Por qué recalculas los años de servicio cuando se cambian los años de servicio? ¿No habría que calcularlos cuando se cambie la fecha de hoy o la fecha de entrada a la empresa?
Bueno, perdón por contestar tan tarde. Primero contestare a Heimish.

Bien, en cuanto a las preguntas que me haces, no utilizo DateDiff porque no tiene en cuenta los dias y los meses en las fechas. Para fechas menores a un año, siempre devuelve 1. Y eso es precisamente lo que pretendo evitar.
Ej:
Fecha1= #01/12/2002#
Fecha2= #04/02/2003#
La diferencia en años es 0, ya que la diferencia son realmente 3 días y dos meses. Sin embargo poniendo Diferencia: DifFecha("yyyy";[fecha1];[fecha2]) sale 1.
Es por eso por lo que intento recalcular los años de trabajo de los operarios, para cuando ocurra un caso como el anterior el valor que me devuelva sea 0. Evidentemente con el Evento Change() no me ha ido bien, pero pense en él porque quería que al pasar de un operario al siguiente, mediante un control data, me recalculara los años trabajados restándole 1 cuando la diferencia entre las fechas no fueran exactamente de un año.

Espero me hayas comprendido bien. De todas formas muchas gracias por tu aportación!