Foxtable(狐表)用户栏目专家坐堂 → 索引超出范围的问题


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

主题:索引超出范围的问题

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


加好友 发短信
等级:小狐 帖子:341 积分:2455 威望:0 精华:0 注册:2014/7/30 18:03:00
索引超出范围的问题  发帖心情 Post By:2016/3/9 12:36:00 [只看该作者]

table3的doubleclick事件代码如下:双击table3的最后一行时出现问题,双击其他行没有问题,能够正常运行。

Dim cur As Row = Tables("发货明细").Current

If cur IsNot Nothing Then
    
    Dim dr As DataRow = DataTables("布匹信息").SQLFind("布匹条码 ='" & e.Row("布匹条码") & "'")
    
    If dr IsNot Nothing Then
        dr.locked = False
        dr("发货明细ID") = ""
        dr.Save
    End If
    
  
End If

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/9 14:27:00 [只看该作者]

 不应该,具体上传上来测试。

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


加好友 发短信
等级:童狐 帖子:274 积分:2293 威望:0 精华:0 注册:2015/6/14 18:33:00
  发帖心情 Post By:2016/3/9 14:29:00 [只看该作者]

最怕这种无厘头的报错提示

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


加好友 发短信
等级:小狐 帖子:341 积分:2455 威望:0 精华:0 注册:2014/7/30 18:03:00
  发帖心情 Post By:2016/3/9 14:48:00 [只看该作者]

这个table是sqltable,双击表的最后一行报出来错误,索引超出范围,其他行双击没啥问题。例子不太好做啊
图片点击可在新窗口打开查看此主题相关图片如下:qq截图333.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:小狐 帖子:341 积分:2455 威望:0 精华:0 注册:2014/7/30 18:03:00
  发帖心情 Post By:2016/3/9 14:50:00 [只看该作者]

双击最后一行也不是每次都会报错,10次大概有个8次会报错,点击继续后,程序也能照常运行,没有出现意外结果

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/9 14:52:00 [只看该作者]

你确定是doubleclick事件有错?加入msgbox,弹出到哪里出错?


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


加好友 发短信
等级:小狐 帖子:341 积分:2455 威望:0 精华:0 注册:2014/7/30 18:03:00
  发帖心情 Post By:2016/3/9 16:33:00 [只看该作者]

到最后弹出的 datacolchanged有代码
Dim textile As String = e.DataRow("订单出入库ID")

Select Case e.DataCol.name
        Case "发货明细ID"
        Dim val As String = IIF(e.NewValue="",e.OldValue,e.NewValue)
        Dim pr As DataRow = DataTables("发货明细").Find("发货明细ID ='" & val & "'")
        pr.load
        pr.Locked = False
        Dim ps As Single  = DataTables("布匹信息").Compute("Sum(数量)","发货明细ID = '" & val & "'")
        Dim sl As Integer = DataTables("布匹信息").Compute("Count(数量)","发货明细ID = '" & val & "'")
        pr("匹数") = sl
        pr("数量") = ps
        pr.Save
        '
End Select

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/9 17:06:00 [只看该作者]

加入msgbox,执行到哪里报错?看datacolchanged和beforeSaveDataRow事件


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


加好友 发短信
等级:小狐 帖子:341 积分:2455 威望:0 精华:0 注册:2014/7/30 18:03:00
  发帖心情 Post By:2016/3/10 12:38:00 [只看该作者]

双击表table3的最后一行,执行了Doubleclick事件,因为改动了记录,就去执行了datacolchanged事件,没有报错
返回接着执行DoubleClick事件,执行代码到最后,才报出来错误。(但是代码要实现的效果是正常的,符合预期,只是老是弹出这个报错,用起来不舒服)

另外,双击table3的其他行是不会报错的

代码太多,贴不上来


beforeSaveDataRow事件没有代码


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/10 12:54:00 [只看该作者]

我觉得应该是你别的表事件影响了。比如 BeforeSelChange 等。

 

只要做具体例子发上来,才知道是哪里的问题。


 回到顶部
总数 12 1 2 下一页