我正在尝试使用报表设计器 V2.0 创建一个报表,并编写了一个 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)
但是在函数中将字符串转换/转换为 Date 类型的任何尝试都失败了。奇怪的是我可以做类似的事情
Public Function CalculateWorkDays(ByVal strstartdate As String) As String
Dim startDate as Date
startDate = Today.AddDays(30)
Return startDate.ToString()
End Function
非常感谢任何帮助。