レポート デザイナー V2.0 を使用してレポートを作成しようとしていますが、2 つの日付間の平日の日数を計算する VB 関数を作成しました。
vb.Net でコードを記述し、レポート内のカスタム コード タブに移植しました。
関数のシグネチャは次のようになります
    Public Function CalculateWorkdays(ByVal startdate As Date, ByVal enddate As Date) As String
        Return "Test"
    End Function
次に、レポート変数をこの関数に渡そうとします
    =Code.CalculateWorkdays(CDate(Parameter.MyStartDate), CDate(Parameter.MyEndDate))
これは実行に失敗します
署名を変更すると
      Public Function CalculateWorkdays(ByVal startdate As String, ByVal enddate As String) As String
             Return "Test"
      End Function
      =Code.CalculateWorkdays(Parameter.MyStartDate, Parameter.MyEndDate)
これは実行され、成功します。
したがって、関数呼び出しの前に文字列の日付をキャスト/変換しようとするのではなく、関数自体の中でそれを実行しようとしました。
     Dim startdate as Date
     startdate = Date.Parse(strstartdate)
ただし、関数内で文字列を日付型にキャスト/変換しようとすると失敗します。奇妙なことに、私は次のようなことができます
    Public Function CalculateWorkDays(ByVal strstartdate As String) As String
       Dim startDate as Date
       startDate = Today.AddDays(30)
       Return startDate.ToString()
    End Function
どんな助けでも大歓迎です。