-- [求助]下述代码哪儿出错了,出现错误对话框,请指教
代码:Select e.DataCol.Name Case "批准日期","备注"
If e.DataRow.IsNull("批准日期") Then
e.DataRow("归档号") = Nothing
Else
Dim d As Date = e.DataRow("批准日期")
Dim y As Integer = d.Year
Dim m As Integer = d.Month
Dim Days As Integer = Date.DaysInMonth(y,m)
Dim fd As Date = New Date(y,1,1) \'获得该年的第一天
Dim ld As Date = New Date(y,12,31) \'获得该年的最后一天
Dim s = e.DataRow( "备注")
Dim bh As String = e.DataRow("全宗号") & "-" &"〔" & Format(d,"yyyy") & "〕" & "-"
If s Like "伤残*" Then
bh &= "SC-"
ElseIf s Like "病退*" Then
bh &= "BT-"
End If
If e.DataRow("归档号").StartsWith(bh) = False \'如果单据编号前缀不符
Dim max As String
Dim idx As Integer
Dim flt As String
flt = "全宗号 = \'"& e.DataRow("全宗号") & "\' And 批准日期 >= #" & fd & "# And 批准日期 <= #" & ld & "#"
max = e.DataTable.Compute("Max(归档号)",flt) \'取得该年的相同工程代码的最大单据编号
If max > "" Then \'如果存在最大单据编号
idx = max.LastIndexOf("〕") + 1
idx = CInt(max.Substring(idx,4)) + 1 \'获得最大单据编号的后四位顺序号,并加1
Else
idx = 1 \'否则顺序号等于1
End If
e.DataRow("归档号") = bh & Format(idx,"0000") & "号"
End If
End If
End Select
出错图:
此主题相关图片如下:截图05.jpg