Access - Antiguedad en la Empresa

   
Vista:

Antiguedad en la Empresa

Publicado por Angel (25 intervenciones) el 15/02/2016 16:32:40
VEreis chicos/as, quisiera conseguir que de la suma de contratos que tiene en la empresa, me clacule el tiempo de experiencia que tiene acumulado.

He conseguido calcularlos en dias, con una simple suma en el pie de formulario, pero quisiera conseguir que lo mostrara en meses y dias y si es posible en años, meses, y dias.

Gracias,
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

Antiguedad en la Empresa

Publicado por Enrique Heliodoro (1663 intervenciones) el 15/02/2016 18:03:15
Si se conoce el numero de días y se acepta que un año tiene 365.25 días, que aun mes (promediado) se le considera de treinta ¿Cuál es el problema?.
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

Antiguedad en la Empresa

Publicado por Angel (25 intervenciones) el 16/02/2016 16:18:58
Gracias Enrique por tu dedicación en este foro por que la verdad que esta muy bien, pero permiteme decirte que en ocasiones respondes en forma de geroglifico o con misterio, has de entender que si he expuesto mi duda es porque realmente es la que tengo, ya se los dias que tiene un año, me respondes como si fuese algo tonto pero no me dejas claro si se puede o como se puede hacer.

Disculpa si te molesta mi comentario, pero lo que tu ves evidente igual yo que soy algo "tonto" pues no lo veo o no se aplicar. Partimos desde la idea de que los foros estan para ayudarnos los unos a los otros, creo yo.

Gracias de todas formas,
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
Imágen de perfil de douglas

Antiguedad en la Empresa

Publicado por douglas (280 intervenciones) el 17/02/2016 00:27:29
Buenas Angel ya conseguiste que lo haga en Días
totaldías= DateDiff("d",fechainicial,fechafinal)

por Mes sería hacer un campo texto y pones
=[totaldias]/30
por Año sería igual un campo de texto y pones
=[totaldias]/365
por semanas
=[totaldias]/30/4
o bien
=[totaldias]/52

Saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Antiguedad en la Empresa

Publicado por Angel (25 intervenciones) el 17/02/2016 09:05:34
Muchas Gracias, un par de cosas mas..

Como seria entonces para que en vez de solo dias o meses, pudiera mostrar por ejemplo "Antigüedad: 1 año, 7 meses"

Y por otro lado, la función totaldías= DateDiff("d",fechainicial,fechafinal) donde la pongo, en el origen de control del campo independiente que habria que crear "totaldias"

Gracias,
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
Imágen de perfil de douglas

Antiguedad en la Empresa

Publicado por douglas (280 intervenciones) el 17/02/2016 15:39:25
Me dijiste que ya habias podido calcular los días solo puse una posible formula para los que leen y no saben como
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

Antiguedad en la Empresa

Publicado por Enrique Heliodoro (1663 intervenciones) el 17/02/2016 10:33:19
Es tan sencillo como cuando haces la caja de diario .... solo que en vez de dinero (un tipo de objeto) tenemos otro (días = tiempo)

Tras el arqueo tendras una cifra (días, pero pueden ser euros o diferentes tipos de fruta) y deseas clsificarlos, se da por supuesto que se conocen las reglas: si son días sus diferentes agrupaciones (si es moneda, el tipo de billete o moneda , de un euro, de cinco ..., si fuera fruta se distinguen a los tipos sean manzanas, platanos, peras .....)

Clarificado este punto solo un comentario adicional, el calculo no sera exacto al cien por cien, por un motivo sencillo: se parte del supuesto de que no es un periodo continuo, sino diversas partes, lo que no permite utilizar los días reales de los meses (28/29 de febrero, 31 en enero o treinta en Abril), asi que normalmente se promedia y un mes 'promediado' se le considera de treinta días (si lo que se desease calcular fuese la edad de una persona u objeto esto no seria necesario, se conoce el inicio de ese periodo continuo).

Una acotación:
.- A la hora de dividir podemos utilizar dos métodos, la barra (/) que devuelve decimales y la contrabarra (\) que devuelve enteros
.- para obtener el resto, se acostumbra a utilizar 'Mod'

Aclaradas esas simples opciones matemáticas (por facilidad operativa, ya que simples sumas y restas también llevan al mismo resultado, continuamos)

Se desea lograr precision en la medida de lo posible, asi que tomamos como referencia para el año: 365 días + 1/4 de dia (para compensar a los años bisiestos), asi que años:

Años = SumaDeDias \ 365.25 = zzzzzz

Dos formas de obtener 'los días que no son años':
1.- DiasQueNoSOnAños = SumaDeDias - (365.25 * zzzzzz)
2.- DiasQueNoSOnAños = SumaDeDias Mod 365.25

Calculamos los meses (promediados)
Meses = DiasQueNoSOnAños \30
--- también valdría asi: Meses = Int(DiasQueNoSOnAños / 30)

Quedarian como días los que no forman un mes completo:
Dias = DiasQueNoSOnAños mod 30


En cuanto a tu comentario ... en fin, desconozco tu dominio del entorno Access, pero parto de la base de que eres inteligente además de culto (sabes leer y escribir con corrección), y que enfocas el problema como el trato con 'un enemigo', en algo que en la vid real resolverías sin problemas aparentes (el desglose de un talon al cobrarlo, el pago de un importe en un comercio, o simplemente como trabajara con los capitales en el Monopoly donde supongo que agruparias por tipos a las diferentes monedas del juego)

Asi que la duda (aparte del 'miedo conceptual a las fechas en general, dado que es un numero complejo') lo que se necesitaría es indicación de los promedios a aplicar (algo que deje aclarado en mi primer mensaje) dando por supuesto que dominarías (con mayor o menor destreza) cuando menos las cuatro operaciones básicas, en base a que una cosa es solicitar ayuda y otra pedir un servicio a la carta... por curiosidad, ¿Cuánto tiempo le has dedicado a leer/interpretar mi anterior respuesta?....
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

Antiguedad en la Empresa

Publicado por Angel (25 intervenciones) el 17/02/2016 15:40:53
----

Y por otro lado, la función totaldías= DateDiff("d",fechainicial,fechafinal) donde la pongo, en el origen de control del campo independiente que habria que crear "totaldias"

Gracias nuevamente,
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
Imágen de perfil de douglas

Antiguedad en la Empresa

Publicado por douglas (280 intervenciones) el 17/02/2016 17:25:57
Angel puso ¨He conseguido calcularlos en dias, con una simple suma en el pie de formulario, pero quisiera conseguir que lo mostrara en meses y dias y si es posible en años, meses, y dias.

Gracias,¨

Ese campo al pie de página calculas el resto

Con más campos de texto y dentro le pones las formulas ya sea un aproximado como te di o exacto como te dio Enrique.

Por ejemplo si tu campo al pie de pagina se llama sumadias
usas sumadias para sacar el resto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Antiguedad en la Empresa

Publicado por Angel (25 intervenciones) el 17/02/2016 17:30:37
ok, gracias voy a probarlo...
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