以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码异常 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98430) |
-- 作者:xvkewen -- 发布时间:2017/3/29 17:41:00 -- 代码异常 各位老师,以下代码是写在Datachanging事件里的,当我编辑“是否完成”列(逻辑列)第一行,系统报错(“调用的目标发生了异常,未将对象引用设置到对象的实例”),但是当第一行有数据时,编辑后面行就没有问题;用Msgbox()分段测试,问题在以下黄色Highlight部分;但我实在找不出原因所在,老师给看看吧~
Dim srs,bw As String \'定义被更新行的办单号,办房部位; Dim dr_finished As DataRow \'定义与当前行最近的,有时间前,后行,和第一行与最后一行; Dim dr_finishdate As List(of DataRow) \'定义当前办单,当前工艺部件的工艺总条数集合; srs =e.DataRow("办单号") bw = e.DataRow("办房部位") dr_finished = DataTables("工艺表").Find("是否完成 = \'true\' and 工艺序号< \'" & e.DataRow("工艺序号") & "\' and 办单号 = \'" & e.DataRow("办单号") & "\' and 办房部位 = \'" & e.DataRow("办房部位") & "\'","工艺序号 desc") If dr_finished IsNot Nothing Then dr_finishdate = DataTables("工艺表").Select("是否完成 = \'false\' and 办单号 = \'" & srs & "\' and 办房部位 = \'" & bw & "\'and (工艺序号 > \'" & dr_finished("工艺序号") & "\'and 工艺序号 < \'" & e.DataRow("工艺序号") & "\')","工艺序号") End If |
-- 作者:有点色 -- 发布时间:2017/3/29 17:55:00 -- 先试试下面这段代码,如果还报错,说明不是这段代码有问题。你肯定有其他代码影响
Dim srs,bw As String \'定义被更新行的办单号,办房部位; Dim dr_finished As DataRow \'定义与当前行最近的,有时间前,后行,和第一行与最后一行; Dim dr_finishdate As List(of DataRow) \'定义当前办单,当前工艺部件的工艺总条数集合; srs =e.DataRow("办单号") bw = e.DataRow("办房部位") dr_finished = DataTables("工艺表").Find("是否完成 = true and 工艺序号< \'" & e.DataRow("工艺序号") & "\' and 办单号 = \'" & e.DataRow("办单号") & "\' and 办房部位 = \'" & e.DataRow("办房部位") & "\'","工艺序号 desc") If dr_finished IsNot Nothing Then dr_finishdate = DataTables("工艺表").Select("是否完成 = false and 办单号 = \'" & srs & "\' and 办房部位 = \'" & bw & "\'and (工艺序号 > \'" & dr_finished("工艺序号") & "\'and 工艺序号 < \'" & e.DataRow("工艺序号") & "\')","工艺序号") End If |