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


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

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

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


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望: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


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望: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之前就报错

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


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望: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

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


加好友 发短信
等级:狐精 帖子:3361 积分:24808 威望: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文件夹删除了竟然好了


 回到顶部