Foxtable(狐表)用户栏目专家坐堂 → 这段代码为什么老是报错


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

主题:这段代码为什么老是报错

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


加好友 发短信
等级:狐精 帖子:3353 积分:24705 威望:0 精华:0 注册:2012/3/26 21:47:00
这段代码为什么老是报错  发帖心情 Post By:2018/7/18 22:01:00 [只看该作者]


.NET Framework 版本:2.0.50727.8933
Foxtable 版本:2018.7.9.1
错误所在事件:窗口,付款单,Button2,Click
详细错误信息:
索引超出了数组界限。

messagebox.show("1")
DataTables("付款明细").find("来源单据='应付对账单' and 付款单号='" & .current("付款单号") & "' and ID='" & r("_identify") & "'")
messagebox.show("2")


1能弹出 2不行 非常奇怪 找了很久找不到问题 字符串拼接没问题啊


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


加好友 发短信
等级:狐精 帖子:3353 积分:24705 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2018/7/18 22:02:00 [只看该作者]

With Tables("付款单")
    If .current IsNot Nothing Then
        If Tables("付款单_t1").GetCheckedRows.count>0 Then
            MessageBox.show("1")
            For Each r As Row In Tables("付款单_t1").GetCheckedRows
MessageBox.show("2")
                Dim dr As DataRow=DataTables("付款明细").find("来源单据='应付对账单' and 付款单号='" & .current("付款单号") & "' and ID='" & r("_identify") & "'")
MessageBox.show("3")
                If  dr Is Nothing Then

1 2能弹出 3之前就报错

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


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

单纯看代码,没有任何问题。

 

你试试贴出完整代码。


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


加好友 发短信
等级:狐精 帖子:3353 积分:24705 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2018/7/19 6:18:00 [只看该作者]

With Tables("付款单")
    If .current IsNot Nothing Then
        If Tables("付款单_t1").GetCheckedRows.count>0 Then
            MessageBox.show("1")
            For Each r As Row In Tables("付款单_t1").GetCheckedRows
MessageBox.show("2")
                Dim dr As DataRow=DataTables("付款明细").find("来源单据='应付对账单' and 付款单号='" & .current("付款单号") & "' and ID='" & r("_identify") & "'")
MessageBox.show("3")
                If  dr Is Nothing Then
                    
                    Dim rr As Row=Tables("付款单.付款明细").AddNew
                    rr("应付对账单号")=r("应付对账单号")
                    rr("来源单据")="应付对账单"
                    rr("记账单据")=r("来源单据")
                    rr("ID")=r("_identify")
                    rr("待核销金额")=r("对账金额")-r("已核销金额")
                    rr("单号")=r("单号")
                    rr("物料名称")=r("物料名称")
                Else
                    MessageBox.show("同一供应商付款明细不能在同一付款单分开编辑!!","提示!")
                    Return
                End If
            Next
            e.Form.Controls("TabControl2").Selectedindex=0
        Else
            MessageBox.show("没有选中任何记录!")
        End If
    End If
End With

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9868 积分:57527 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2018/7/19 8:53:00 [只看该作者]

 and ID='" & r("_identify") & "'")  你这个是数值的吧,数值当字符串在处理条件?

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


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

肯定不是你标记的地方有错。假如你把代码改成

 

Dim dr As DataRow = Nothing

 

然后执行,是否还会报错?


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


加好友 发短信
等级:狐精 帖子:3353 积分:24705 威望:0 精华:0 注册:2012/3/26 21:47:00
  发帖心情 Post By:2018/7/19 9:27:00 [只看该作者]

以下是引用有点甜在2018/7/19 9:05:00的发言:

肯定不是你标记的地方有错。假如你把代码改成

 

Dim dr As DataRow = Nothing

 

然后执行,是否还会报错?


代码没问题 我把bin文件夹删除了竟然好了


 回到顶部