gpt4 book ai didi

vb.net - 在 SSRS 中执行 .AddDays() 之前如何检查空值?

转载 作者:行者123 更新时间:2023-12-03 04:58:26 25 4
gpt4 key购买 nike

我将以下内容作为 SSRS 报告中文本框的值:

   =iif(IsNothing(Fields!MyDate.Value), "", Format(Fields!MyDate.Value.AddDays(30), "MMMM dd, yyyy"))

每次 MyDate 为空时,它都会给我一个“#Error”。

我该如何解决这个问题?

更新:

我编写了这个自定义函数,它消除了错误,但在传递空日期时返回 0001 年 1 月 31 日。

Public Shared Function NewDate(myDate as DateTime, days as integer) AS string
IF ISNOTHING(myDate) OR ISDBNULL(myDate) Then
NewDate = " "
ELSE
NewDate = Format(myDate.AddDays(days), "MMMM dd, yyyy")
END IF
End Function

@Matt Hamilton:DateAdd("d", 30,Fields!MyDate.Value)

最佳答案

问题当然是 VB 的 IIF 语句无论结果如何都会对双方进行计算。因此,即使您的字段为空,它仍在评估“Value.DateAdd”调用。

如果我没记错的话,SSRS 有自己的“DateAdd”函数,您可以使用它。所以你可以做这样的事情(检查文档'因为这是来自内存):

=Iif(IsNothing(Fields!MyDate.Value), "", Format(DateAdd("d", 30, Fields!MyDate.Value), "MMMM dd, yyyy"))

关于vb.net - 在 SSRS 中执行 .AddDays() 之前如何检查空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/136770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com