Access - Dias entre fechas del año en curso

 
Vista:

Dias entre fechas del año en curso

Publicado por luis (5 intervenciones) el 15/01/2014 09:52:31
Muy buenas a todos estoy intentando calcular los días de un mismo año entre dos fechas.
Ej. 11/12/2013 al 10/01/2014 y que el resultado sea 10 osea los días del 2014.

Uso Access 2007 y tengo dos campos en una tabla [FechaInicio] y [FechaFin]

He probado con =DifFecha("d";[FechaInicio];[FechaFin]) pero no me discrimina los años

Muchas gracias por vuestra ayuda.
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
sin imagen de perfil

Dias entre fechas del año en curso

Publicado por Lucas Felipe (59 intervenciones) el 16/01/2014 00:18:35
hola, pruebe esto:

1
2
3
4
5
if year(FechaInicio)=year(FechaFin) then
Dias=DifFecha("d";[FechaInicio];[FechaFin])
else
Dias=DifFecha("d";"#1/1/" & Year(FechaFin) & "#";[FechaFin])
end if
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

Dias <a href="#" id="_GPLITA_2" in_rurl="http://i.txtsrving.info/click?v=RVM6NDE0MjM6Mj

Publicado por luius (5 intervenciones) el 16/01/2014 17:23:46
Muchas gracias Lucas Felipe por tu respuesta, pero me da error si las fechas son de distinto año y además así solo me daría los días del año de la fecha final no?. Y lo que necesitaría es que si la fecha de inicio es 20/12/2013 y la fecha final es 14/05/2015 es que me de como resultado solo los días del año en curso (en este caso los días del 2014) osea 365 días.

Muchas 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

Dias <a href="#" id="_GPLITA_2" in_rurl="http://i.txtsrving.info/click?v=RVM6NDE0MjM6Mj

Publicado por luis (5 intervenciones) el 16/01/2014 23:22:35
He intentado hacerlo de la siguiente forma pero me da error y no se solucionarlo

1
2
3
4
5
6
7
8
9
10
11
12
If Year(fechainicio) = Year(fechafin) Then
dias = DateDiff("d", [fechainicio], [fechafin])
End If
If Year(fechainicio) = Year(fechahoy) Then
dias = DateDiff("d", [fechainicio], ("/31/12/#" & "#"))
End If
If Year(fechafin) = Year(fechahoy) Then
dias = DateDiff("d", "1/1/#" & Year(fechafin) & "#", 1)
End If
If Me.dias >= 365 Then
Me.dias = 365
End If
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

Dias <a href="#" id="_GPLITA_2" in_rurl="http://i.txtsrving.info/click?v=RVM6NDE0MjM6Mj

Publicado por Lucas Felipe (59 intervenciones) el 17/01/2014 02:49:59
Hola, con esto puede ir avanzando, no estoy seguro de la sintaxis para que reconozca fechas puede ser con # o con ' ; probando se dará cuenta
1
2
3
4
5
6
7
if year(FechaInicio)=year(FechaFin) then
Dias=DifFecha("d";[FechaInicio];[FechaFin])
elseif year(FechaInicio)<year(FechaFin) and year(FechaFin)=year(date) then
Dias=DifFecha("d";"'01/01/" & Year(FechaFin) & "'";[FechaFin])
else
Dias=365
end if
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