-- 作者:mojo
-- 发布时间:2020/2/20 16:41:00
-- 增加行出错
子表BeforeAddDataRow限定了增加行的行数
Dim r As Row = Tables("申请单明细").Current If r IsNot Nothing Then If DataTables("申请单明细").Compute("Count(付款申请单编号)","付款申请单编号 = \'" & r("付款申请单编号") & "\'") >= 5 Then e.Cancel = True msgbox("明细行数已满,请新增一张凭证") End If
满五行后主表DataColChanged有条件增加行代码出错,
调用的目标发生了异常。 未将对象引用设置到对象的实例。
Select Case e.DataCol.name Case "付款申请编号" Dim dr As DataRow = DataTables("申请单明细").Find("付款申请单编号 = \'" & e.OldValue & "\'") Dim dt As DataRow = DataTables("税费").Find("付款申请单编号 = \'" & e.OldValue & "\'") If dr Is Nothing And dt Is Nothing Then dr = DataTables("申请单明细").AddNew() dt = DataTables("税费").AddNew() dr("付款申请单编号") = e.DataRow("付款申请编号") dr("申请日期") = e.DataRow("申请日期") dr("申请部门") = e.DataRow("申请部门") dt("付款申请单编号") = e.DataRow("付款申请编号") dt("申请日期") = e.DataRow("申请日期") dt("申请部门") = e.DataRow("申请部门") Else dr("付款申请单编号") = e.DataRow("付款申请编号") dt("付款申请单编号") = e.DataRow("付款申请编号") End If Case "申请日期","申请部门" Dim dr As DataRow = DataTables("申请单明细").Find("付款申请单编号 = \'" & e.DataRow("付款申请编号") & "\'") Dim dt As DataRow = DataTables("税费").Find("付款申请单编号 = \'" & e.DataRow("付款申请编号") & "\'") If dr IsNot Nothing And dt IsNot Nothing Then dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) dt(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If End Select
请帮忙看看。
[此贴子已经被作者于2020/2/20 16:44:53编辑过]
|