2014-02-07 7 views
0

Есть ли формула, чтобы получить дату воскресенья в Crystal report vb.net с указанием номера рабочей недели и года? Например, у меня естьCrystal report: Рассчитать дату, указанную номер рабочей недели и год

рабочей недели # 46 и год 2012..It должен отображать дату воскресенье в рабочей недели 46 в год 2012 (11,11,2012)

+0

вы хотите подсчитывать воскресенье в год? –

+0

Нет. Я хочу получить результат дня воскресенья с номером рабочей недели и годом .. например, данный номер равен 4612 .. он должен иметь 11/11/2012, потому что дата воскресенья рабочей недели 46 в 2012 году - 11/11/2012 – user3230789

ответ

0

не существует каких-либо функций по умолчанию в получить это, но я создал функцию себя, чтобы исправить эту issuse так:

Public Function W_SUNDAY(ByVal TWEEK As Byte, ByVal TYEAR As Integer) 
    Dim SRCDATE As Date = New Date(TYEAR, 1, 1) ' 1.1.2014 - BECAUSE BEGINING IS THE FIRST WEEK OF YEAR 
    For I = 1 To 12 
     For J = 1 To 31 
      Dim CTDATE As Date 
      Try ' TRAP ERRORS BECAUSE NOT ALL OF THE MONTHS HAS 31 DAYS :) 
       CTDATE = New Date(TYEAR, I, J) 
      Catch ex As Exception 
      End Try 
      If CTDATE.DayOfYear = 7 * (TWEEK - 1) Then 
       SRCDATE = CTDATE 
       Exit For 
      End If 
     Next 
    Next 
    If SRCDATE.DayOfWeek <> DayOfWeek.Sunday Then 
     For D = 1 To 6 
      SRCDATE = DateAdd("d", 1, SRCDATE) 
      If SRCDATE.DayOfWeek = DayOfWeek.Sunday Then 
       Exit For 
      End If 
     Next 
    End If 
    Return SRCDATE 
End Function 

дайте мне знать, если это помогло вам :) (извините за мой плохой английский)

+0

Привет, благодарю вас за этот полезный код. но у нас есть только формула, необходимая в отчете о кристалле, поскольку мы не используем форму ... потому что из кода, который вы указали, необходимо было иметь форму. У вас есть код для формулы в CR? заранее спасибо – user3230789

+0

Жаль, что я недавно начал изучать C.R., поэтому мне жаль, что я не смогу помочь :( –

Смежные вопросы