0

这是我在 Stack 上的第一个问题,尽管我在这里得到了很多答案 8-)

我的雇主正在使用带有 Visual Studio 2008 和 Report Builder 3.0 的 SQL Server Business Intelligence Development Studio 从 SharePoint 列表生成报告。

他们希望我在 VB 中构建一个函数,我可以从报表生成器表达式中调用该函数,该表达式将查看日期(NeedDate),该日期也显示在报表的 Tablix 中,并在另一个单元格中显示该日期之前 90 天的日期日期。它必须是在表达式生成器中调用的 VB 函数——这是我老板的要求。

我在报表生成器的表达式生成器中使用它,它正在工作:=iif(ReportItems!NeedDate.Value = Nothing, Nothing, DateAdd(DateInterval.Day,-90, ReportItems!NeedDate.Value))但我的老板希望我使用该函数并将其插入到=iif(ReportItems!NeedDate.Value = Nothing, Nothingas “代码。这里需要什么......”之后

我没有很多经验做这种事情。我不明白如何通过插入“代码”使在 Visual Studio 设计器中编写的 VB 函数在报表生成器中工作。而且我不知道从一个报告项目中获取日期,从中减去 90 天,并将其显示在报告的另一个单元格中的语法。因此,我向大家寻求建议/帮助,非常感谢您提供的任何内容!

4

1 回答 1

0

所以,答案是这样的:

我在现场使用了这个表达式:

=Code.SubtractDays(90, ReportItems!ActionNeedDate.Value)


这就是功能:

Function SubtractDays(ByVal days As Integer, ByVal dateField As String) As String
    If Not IsDate(dateField) Then
        Return ""
    Else
        Dim nDayCal As Date = DateAdd(DateInterval.Day, -(days), CDate(dateField))
        Return Format((nDayCal), "dd-MMM-yy")
    End If
End Function
于 2013-04-11T15:44:15.617 回答