我想允许用户在报告中输入日期作为参数。
我正在使用datetime
类型作为参数(因此它显示了一个日期选择器)。在我将PC的区域更改为“英国”之后,它显示正确的格式“dd / mm / yyyy”,但是当我在门户网站上查看时格式错误:它显示“mm / dd / yyyy”。请注意,我的浏览器语言已设置为“en-GB”。
所以,我想如果我在文本框中创建,我需要验证它。我做了一些研究,并在报告属性的代码选项卡中实现了以下VB代码:
function CheckDateParameters(Dateas date) as Integer
Dim msg as String
If IsDate(Date) Then
msg="correct format"
else
msg="invalid date format"
End If
If msg <> "" Then
MsgBox(msg, 16, "Report Validation")
Err.Raise(6,Report) 'Raise an overflow
End If
End Function
要调用我执行的功能:
=Code.CheckDateParameters(Parameters!from.Value)
如果日期格式正确,此功能有效,但如果格式错误则无效。 (我不熟悉VB语言。)
进行验证的正确方法是什么?它是在SSRS方面,还是应该在我的存储过程中进行?
答案 0 :(得分:0)
您的代码的问题在于您正在验证日期,如果日期您根本不需要验证日期。将其更改为输入的字符串。 并尽量不要使用“日期”作为变量名称。
Function CheckDateParameters(Dates As String) As Integer
Dim msg As String
If IsDate(Dates) Then
msg = "correct format"
Else
msg = "invalid date format"
End If
If msg <> "" Then
MsgBox(msg, 16, "Report Validation")
'Err.Raise(6, Report) 'Raise an overflow
End If
End Function