以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请问,自动编号事件出错提示,是什么原因?如何解决? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=143505) |
-- 作者:leyevee -- 发布时间:2019/11/27 10:53:00 -- 请问,自动编号事件出错提示,是什么原因?如何解决? 表中录入了字段更改事件,后出现如下提示: Exception has been thrown by the target of an invocation是什么原因,如何解决?
|
-- 作者:有点蓝 -- 发布时间:2019/11/27 10:57:00 -- 贴出相关代码看看 |
-- 作者:leyevee -- 发布时间:2019/11/27 11:22:00 -- If e.DataCol.Name = "送达日期" Then If e.DataRow.Isnull("送达日期") Then e.DataRow("送达编号") = Nothing Else Dim d As Date = e.DataRow("送达日期") Dim y As Integer = d.Year Dim fd As Date = New Date(y,1,1) Dim ld As Date = fd.addyears(1) Dim bh As String = Format(d,"yyyy") If e.DataRow("送达编号").StartWith(bh) = False Dim max As String Dim idx As Integer max = e.DataTable.Compute("Max(送达编号)","送达日期 >= #" & fd & "# And 送达日期 < #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")) If max > "" Then idx = CInt(max.Substring(4,4)) + 1 Else idx = 1 End If e.DataRow("送达编号") = bh & Format(idx,"0000") End If End If End If
|
-- 作者:有点蓝 -- 发布时间:2019/11/27 11:32:00 -- 这个代码没有问题,也看不出和1楼的错误有什么关系,可能是其他代码的问题。 或者是数据有问题,比如旧数据的编号不符合规范,可以把不符合规范的编号先清空
|
-- 作者:leyevee -- 发布时间:2019/11/27 14:16:00 -- 对不起,占用老师的时间了。是我代码没敲对,StartsWith 敲成了StartWith。 以下代码,运行无误: If e.DataCol.Name = "送达日期" Then If e.DataRow.Isnull("送达日期") Then e.DataRow("送达编号") = Nothing Else Dim d As Date = e.DataRow("送达日期") Dim y As Integer = d.Year Dim fd As Date = New Date(y,1,1) Dim ld As Date = fd.addyears(1) Dim bh As String = Format(d,"yyyy") If e.DataRow("送达编号").StartsWith(bh) = False Dim max As String Dim idx As Integer max = e.DataTable.Compute("Max(送达编号)","送达日期 >= #" & fd & "# And 送达日期 < #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")) If max > "" Then idx = CInt(max.Substring(4,4)) + 1 Else idx = 1 End If e.DataRow("送达编号") = bh & Format(idx,"0000") End If End If End If |