Foxtable(狐表)用户栏目专家坐堂 → [求助]求解:不明错误


  共有5416人关注过本帖树形打印复制链接

主题:[求助]求解:不明错误

帅哥哟,离线,有人找我吗?
jacksn
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:106 积分:1002 威望:0 精华:0 注册:2012/9/6 14:13:00
[求助]求解:不明错误  发帖心情 Post By:2013/4/16 11:57:00 [只看该作者]

在beforeSelChange事件中编写以下代码,目的是为了客户在增加记录后避免某些列的内容为空,但是在执行“同步表”和“筛选”时出错(如图),删除此代码后就回复正常,求解!
图不会上传,写出来:错误代码位置:覆价汇总,beforeselchange
system.indexoutofRangeException: 索引 -3 不是为负数,就是大于行数。
....

'验证新加行是否有缺漏
Dim r1 As Integer = CurrentTable.Rows.Count
Dim Oldr As Integer = e.OldRange.RowSel
Dim newr As Integer = e.newRange.RowSel
If CurrentTable.Rows(oldr).IsNull("初评值") Or oldr = newr Then Return
Dim st As String
If oldr <> newr AndAlso oldr = r1 - 1 '如果当前行改变
    Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) '获得原来选择的行
    Dim jc() As String ={"序","初评编号","省","市","区","地址","用途","建筑面积","楼盘小区","进度","接单时间","估价人","委托方类型"}
    For Each j As String In jc
        If r.Isnull(j) Then st = st &  "," & j
    Next
    If st <> "" Then
        e.Cancel = True
        st = st.trimstart(",")
        messagebox.show(st,"以下信息未填写完整:")
    End If
End If
[此贴子已经被作者于2013-4-16 15:18:53编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/16 12:02:00 [只看该作者]

图挂了.报的是什么错误?
上传图片请用 添加附近方式.

 回到顶部
帅哥哟,离线,有人找我吗?
jacksn
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:106 积分:1002 威望:0 精华:0 注册:2012/9/6 14:13:00
  发帖心情 Post By:2013/4/16 15:20:00 [只看该作者]

我发现原因了,是因为“同步”或“筛选时”,oldrange.rowsel= -3,但是为什么rowsel会等于负数呢?
[此贴子已经被作者于2013-4-16 15:20:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/4/16 15:21:00 [只看该作者]

以下是引用jacksn在2013-4-16 15:20:00的发言:
我发现原因了,是因为“同步”或“筛选时”,rowsel= -3,但是为什么rowsel会等于负数呢?

判断一下rowsel>=0 再执行代码即可.

 回到顶部
帅哥哟,离线,有人找我吗?
jacksn
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:106 积分:1002 威望:0 精华:0 注册:2012/9/6 14:13:00
  发帖心情 Post By:2013/4/16 16:22:00 [只看该作者]

我知道判断是否 <0 ,但是我仍然想知道为什么会<0 .

 回到顶部