以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 序时账的代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=159456) |
-- 作者:爱相随 -- 发布时间:2020/12/27 14:02:00 -- 序时账的代码 下面是借助序时账代码改造的,提示错误在MessageBox.Show(0)和MessageBox.Show(1)之间,哪位高手能指点一下错误的原因吗??拜谢啦!! 提示错误如下: .NET Framework 版本:2.0.50727.8806 Foxtable 版本:2017.6.12.1 错误所在事件:表,科目汇总表, DataColChanged 详细错误信息: 调用的目标发生了异常。 未将对象引用设置到对象的实例。 Select Case e.DataCol.Name Case "科目编码","借方合计","贷方合计" Dim dr As DataRow Dim mr As DataRow = e.DataRow Dim drs As List(of DataRow) dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And 科目编码 = \'" & mr("科目编码") & "\'", "[_SortKey] Desc") If dr Is Nothing Then MessageBox.Show(0) If dr("方向") = "借" Then If dr("方向2") = "借" Then If dr("期初金额1") + dr("借方合计") - dr("贷方合计") > 0 Then mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计") dr("方向1") = "借" Else mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计") dr("方向1") = "贷" End If Else If dr("期初金额1") + dr("贷方合计") - dr("借方合计") > 0 Then mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计") dr("方向1") = "贷" Else mr("期末金额") = mr("期初金额1") - mr("贷方合计") + mr("借方合计") dr("方向1") = "借" End If End If MessageBox.Show(1) ElseIf dr("方向") = "贷" Then If dr("方向2") = "贷" Then If dr("期初金额1") - dr("借方合计") + dr("贷方合计") > 0 Then mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计") dr("方向1") = "贷" Else mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计") dr("方向1") = "借" End If Else If dr("期初金额1") - dr("贷方合计") + dr("借方合计") > 0 Then mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计") dr("方向1") = "借" Else mr("期末金额") = mr("期初金额1") + mr("贷方合计") - mr("借方合计") dr("方向1") = "贷" End If dr = mr End If Else If dr("方向2") = "借" Then If dr("期初金额1") + dr("借方合计") - dr("贷方合计") > 0 Then mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计") dr("方向1") = "借" Else mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计") dr("方向1") = "贷" End If Else If dr("期初金额1") + dr("贷方合计") - dr("借方合计") > 0 Then mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计") dr("方向1") = "贷" Else mr("期末金额") = mr("期初金额1") - mr("贷方合计") + mr("借方合计") dr("方向1") = "借" End If dr = mr End If End If End If drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And 科目编码 = \'" & dr("科目编码") & "\'", "[_SortKey]") For i As Integer = 1 To drs.Count - 1 drs(i)("期初金额1") = drs(i-1)("期末金额") drs(i)("方向2") = drs(i-1)("方向1") Next MessageBox.Show(2) If e.DataCol.Name = "科目编码" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And 科目编码 = \'" & e.OldValue & "\'", "[_SortKey] Desc") If dr Is Nothing Then dr = e.DataTable.Find("科目编码 = \'" & e.OldValue & "\'", "[_SortKey]") MessageBox.Show(3) If dr IsNot Nothing Then If dr("方向") = "借" Then If dr("方向2") = "借" Then If dr("期初金额1") + dr("借方合计") - dr("贷方合计") > 0 Then mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计") dr("方向1") = "借" Else mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计") dr("方向1") = "贷" End If Else If dr("期初金额1") + dr("贷方合计") - dr("借方合计") > 0 Then mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计") dr("方向1") = "贷" Else mr("期末金额") = mr("期初金额1") - mr("贷方合计") + mr("借方合计") dr("方向1") = "借" End If dr = mr End If ElseIf dr("方向") = "贷" Then If dr("方向2") = "贷" Then If dr("期初金额1") - dr("借方合计") + dr("贷方合计") > 0 Then mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计") dr("方向1") = "贷" Else mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计") dr("方向1") = "借" End If Else If dr("期初金额1") - dr("贷方合计") + dr("借方合计") > 0 Then mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计") dr("方向1") = "借" Else mr("期末金额") = mr("期初金额1") + mr("贷方合计") - mr("借方合计") dr("方向1") = "贷" End If dr = mr End If Else If dr("方向2") = "借" Then If dr("期初金额1") + dr("借方合计") - dr("贷方合计") > 0 Then mr("期末金额") = mr("期初金额1") + mr("借方合计") - mr("贷方合计") dr("方向1") = "借" Else mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计") dr("方向1") = "贷" End If Else If dr("期初金额1") + dr("贷方合计") - dr("借方合计") > 0 Then mr("期末金额") = mr("期初金额1") - mr("借方合计") + mr("贷方合计") dr("方向1") = "贷" Else mr("期末金额") = mr("期初金额1") - mr("贷方合计") + mr("借方合计") dr("方向1") = "借" End If dr = mr End If End If End If End If MessageBox.Show(4) If dr IsNot Nothing Then drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And 科目编码 = \'" & dr("科目编码") & "\'", "[_SortKey]") For i As Integer = 1 To drs.Count - 1 drs(i)("期初金额1") = drs(i-1)("期末金额") Next End If End If End Select
|
-- 作者:有点蓝 -- 发布时间:2020/12/27 21:25:00 -- If dr Is Nothing Then ---dr Is Nothing说明dr是空值,dr不存在任何数据 dr=mr MessageBox.Show(0) If dr("方向") = "借" Then If dr("方向2") = "借" Then
|