报下面代码在 BeforeSaveDataRow 表事件,需要的是:保存时先保存日期,再按日期所在月自动编号,报如下错误:
If e.DataRow.IsNull("日期") Then
e.DataRow("日期") = Date.Today()
End If
Dim max As String
Dim idx As Integer
Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) '获取本月的最后一天
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
max = e.DataTable.Compute("Max(订单编号)","日期 = # " & Filter & " # And [_Identify] <> " & e.DataRow("_Identify")) '取得该天的最大编号
If max > "" Then
idx = CInt(max.Substring(8,3)) + 1 '获得最大编号的 后三位顺序号,并加1
Else
idx = 1 '否则顺序号等于1
End If
e.DataRow("订单编号") = "YFDD" & Format(e.DataRow("日期"),"yyMM") & Format(idx,"000")
.NET Framework 版本:4.0.30319.36392
Foxtable 版本:2019.12.17.18
错误所在事件:表,订单评审,BeforeSaveDataRow
详细错误信息:
调用的目标发生了异常。
该字符串未被识别为有效的 DateTime。有一个未知单词(从索引 1 处开始)。