none
Sacar la fecha de la semana RRS feed

  • Pregunta

  • Hola,

    tengo un problema con un informe. Necesito sacar para cada fecha( campo createdon), la fecha del año a la que pertenece. Por ejemplo, para la fecha 10/01/2012 sería: "3  09/01/2012 - 15/01/2012". Sería la 3ª semana del año, que corresponde a 09/01/2012 - 15/01/2012. 

    Actualmente está hecho de la siguiente forma, pero da problemas, ya que para algunas semanas, se repite la fecha (con distinto número de semana):

    =DatePart("ww",Fields!createdon.Value,0,0)&"    "& 
    String.Format(New System.Globalization.CultureInfo(3082), 
    chrw(123)&"0"&chrw(125)&" - "&chrw(123)&"1"&chrw(125), 
    Code.GetFirstDayOfWeek(Fields!createdon.Value), 
    Code.GetLastDayOfWeek(Fields!createdon.Value))

    Llevo un tiempo dándole vueltas, pero no consigo arreglarlo ni se me ocurre cómo hacerlo (de hecho no termino de entender las funciones que utiliza).  A ver si podéis echarme una mano, que me corre bastante prisa.

    Muchas gracias.

    Un saludo

    viernes, 20 de abril de 2012 9:00

Todas las respuestas

  • Para obtener el primer día de la semana (lunes) puedes usar la instrucción

    DateAdd("d", -(WeekDay(Fields!createdon.Value,2))+1, Fields!createdon.Value)

    Y para obtener el último día de la semana (domingo), es similar a lo anterior pero sumándole 7 en vez de 1:

    DateAdd("d", -(WeekDay(Fields!createdon.Value,2))+7, Fields!createdon.Value)

    viernes, 20 de abril de 2012 9:45