以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 未将对象引用设置到对象的实例 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=126852) |
-- 作者:skyerlin -- 发布时间:2018/10/30 11:52:00 -- 未将对象引用设置到对象的实例 问题:将“学生信息表”字段信息写入到“学年收费名单”相应字段,在写入之前判断“学年收费名单”是否存在已有记录(判断条件为“考生号”、“学年”相同),如果 存在记录则覆盖写入,如果不存在相同记录,重新建一行再写入。以下为代码,提示“未将对象引用设置到对象的实例”错误。谢谢。 Dim Cols1() As String = {"考生号","学号","姓名","专业","年级","班级","性别","身份证","籍贯","联系电话","入学时间","注册情况","是否毕业","备注"} Dim Cols2() As String = {"考生号","学号","姓名","专业","年级","班级","性别","身份证","籍贯","联系电话","入学时间","注册情况","是否毕业","备注"} Dim t As Table = Tables("学年收费名单") Dim newcount As Integer = 0 Dim oldcount As Integer = 0 For Each dr1 As DataRow In DataTables("学生信息表").DataRows If dr1("是否毕业")="否" And dr1("注册情况")="是" Then Dim r As DataRow = t.DataTable.Find("学号= \'" & dr1("考生号")& "\' And 学年= \'" & Tables("基本设置").Text(0,0) & "\'") If r Is Nothing Then For i As Integer = 0 To Cols1.Length -1 r(Cols2(i)) = dr1(Cols1(i)) r("添加时间")=Today.Date() oldcount += 1 Next Else Dim dr2 As DataRow = DataTables("学年收费名单").AddNew() For i As Integer = 0 To Cols1.Length -1 dr2(Cols2(i)) = dr1(Cols1(i)) dr2("添加时间")=Today.Date() newcount += 1 Next End If End If Next MsgBox("已成功生成缴费名单,新增" & newcount & " " & "更新旧数据" & oldcount) 未将对象引用设置到对象的实例 |
-- 作者:有点甜 -- 发布时间:2018/10/30 12:23:00 -- If r Is Nothing Then
改成
If r IsNot Nothing Then |