Foxtable(狐表)用户栏目专家坐堂 → 索引1不是负数就是大于行数


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

主题:索引1不是负数就是大于行数

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


加好友 发短信
等级:三尾狐 帖子:658 积分:7890 威望:0 精华:0 注册:2013/12/11 17:49:00
索引1不是负数就是大于行数  发帖心情 Post By:2014/12/4 14:45:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:1.bmp
图片点击可在新窗口打开查看

请问一下 这种错误一般是怎么造成的?错误不是一种都存在的。
[此贴子已经被作者于2014-12-4 14:45:20编辑过]

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


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

你执行什么操作的时候出现这个错误呢?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/4 14:46:00 [只看该作者]

 你执行什么操作的时候报错的?

 

 先升级到最新版。


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


加好友 发短信
等级:三尾狐 帖子:658 积分:7890 威望:0 精华:0 注册:2013/12/11 17:49:00
  发帖心情 Post By:2014/12/4 14:51:00 [只看该作者]

我执行的是关闭窗口    
按钮代码为
DataTables("工资主表").RejectChanges()
e.Form.Close


Afterclose 事件代码
DataTables("表D").DeleteFor("")

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


加好友 发短信
等级:三尾狐 帖子:658 积分:7890 威望:0 精华:0 注册:2013/12/11 17:49:00
  发帖心情 Post By:2014/12/4 14:52:00 [只看该作者]

我执行的是关闭窗口    
按钮代码为
DataTables("工资主表").RejectChanges()
e.Form.Close


Afterclose 事件代码
DataTables("表D").DeleteFor("")


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/4 14:53:00 [只看该作者]

 肯定有其它事件代码影响了。分别注释掉表事件的代码看看。

 

 具体问题,上传个例子。


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


加好友 发短信
等级:三尾狐 帖子:658 积分:7890 威望:0 精华:0 注册:2013/12/11 17:49:00
  发帖心情 Post By:2014/12/4 14:55:00 [只看该作者]

工资主表   表事件只有一个 Datarowadding 
Dim cmd As New SQLCommand
Dim dt As Date
cmd.C
cmd.CommandText = "Select GetDate()"
dt = cmd.ExecuteScalar()
e.DataRow("制单人") = _username
e.DataRow("制单时间") = dt

If _userchejian.Length >=4 Then
    Dim a As String = _userchejian.SubString(0,4)
    e.DataRow("单据编号") = GetPY(a, True) & "-" & Format(dt,"yyMMdd") & "-" &  Format(dt,"HHmmss")
Else
    e.DataRow("单据编号") = GetPY(_userchejian, True) & "-" & Format(dt,"yyMMdd") & "-" &  Format(dt,"HHmmss")
End If

e.DataRow("车间名称")=_userchejian
e.DataRow("工资日期")=dt.AddDays(-1)


表D属于临时表


红色这段代码有什么问题吗?这是按钮代码
If Tables("工序录入_table1").Rows.Count<2 Then
    MessageBox.Show("请先导入员工!")
ElseIf Tables("工序录入_table1").Cols.Count<4 Then
    MessageBox.Show("请先导入工序!")
ElseIf Tables("工序录入_table1").Cols.Count>=4  AndAlso Tables("工序录入_table1").Rows.Count>=2  Then
    Dim k As Double = Tables("工序录入_table1").Rows(1)(3)
    If k<=0 Then
        MessageBox.Show("请输入数值!")
    Else
        For i As Integer =1 To Tables("工序录入_table1").Rows.Count-1
            For Each dc As DataCol In Tables("工序录入_table1").DataTable.DataCols
                If dc.Name<>"姓名" AndAlso dc.Name<>"工号" AndAlso dc.Name<>"单据编号" AndAlso dc.Name<>"员工编号" Then
                    Tables("工序录入_table1").Rows(i)(dc.Name) =k
                End If
            Next
        Next
    End If
End If
[此贴子已经被作者于2014-12-4 14:59:09编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/4 14:57:00 [只看该作者]

  那就不应该报错啊。你升级到最新版了吗?

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


加好友 发短信
等级:三尾狐 帖子:658 积分:7890 威望:0 精华:0 注册:2013/12/11 17:49:00
  发帖心情 Post By:2014/12/4 15:01:00 [只看该作者]


请问一下
红色这段代码有什么问题吗?这是按钮代码
If Tables("工序录入_table1").Rows.Count<2 Then
    MessageBox.Show("请先导入员工!")
ElseIf Tables("工序录入_table1").Cols.Count<4 Then
    MessageBox.Show("请先导入工序!")
ElseIf Tables("工序录入_table1").Cols.Count>=4  AndAlso Tables("工序录入_table1").Rows.Count>=2  Then
    Dim k As Double = Tables("工序录入_table1").Rows(1)(3)
    If k<=0 Then
        MessageBox.Show("请输入数值!")
    Else
        For i As Integer =1 To Tables("工序录入_table1").Rows.Count-1
            For Each dc As DataCol In Tables("工序录入_table1").DataTable.DataCols
                If dc.Name<>"姓名" AndAlso dc.Name<>"工号" AndAlso dc.Name<>"单据编号" AndAlso dc.Name<>"员工编号" Then
                    Tables("工序录入_table1").Rows(i)(dc.Name) =k
                End If
            Next
        Next
    End If
End If



For Each r As Row In Tables("工序录入_table1").GetCheckedRows
    r.Delete
Next
蓝色代码也是写在按钮事件
[此贴子已经被作者于2014-12-4 15:01:47编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/4 15:03:00 [只看该作者]

 代码没问题。

 回到顶部