Foxtable(狐表)用户栏目专家坐堂 → 报错


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

主题:报错

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


加好友 发短信
等级:幼狐 帖子:124 积分:1071 威望:0 精华:0 注册:2014/3/4 22:06:00
报错  发帖心情 Post By:2014/4/24 23:57:00 [只看该作者]

[目的将附表的副表中的多行数据添加主表中去,开始只有一行添加到主表中,第二次就提示错误,请见图片,谢谢图片点击可在新窗口打开查看

 

Dim r1 As Row = Tables("库调明细_副表").Current
Dim r2 As Row = Tables("库调明细表_主表").AddNew
For Each c As Col In Tables("库调明细_副表").Cols
    If Tables("库调明细表_主表").Cols.Contains(c.name) Then
        r2(c.name) = r1(c.name)             ‘将副表中字段内容加入主表
    End If
Next

r2.DataRow("单据日期")= rq.Value              ’将窗口控件内容加入主表图片点击可在新窗口打开查看
r2.DataRow("收发类型")= djlx.text
r2.DataRow("门店")= md.text
r2.DataRow("业务单号")= djbh.text


图片点击可在新窗口打开查看此主题相关图片如下:uf~~$u0ub%{c{k(h_`g0gc.jpg
图片点击可在新窗口打开查看

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


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

Dim r1 As Row = Tables("库调明细_副表").Current 可能是没有当前行

判断一下 if Tables("库调明细_副表").Current isnot nothing then  再执行下面代码

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


加好友 发短信
等级:幼狐 帖子:124 积分:1071 威望:0 精华:0 注册:2014/3/4 22:06:00
  发帖心情 Post By:2014/4/25 22:02:00 [只看该作者]

Dim rq As WinForm.DateTimePicker = e.Form.Controls("日期")
Dim djlx As WinForm.ComboBox = e.Form.Controls("单据类型")
Dim pp As WinForm.ComboBox = e.Form.Controls("品牌")
Dim md As WinForm.ComboBox = e.Form.Controls("门店")
Dim djbh As WinForm.TextBox = e.Form.Controls("单据编号")

If rq.Value = Nothing   Then
    djbh.Text =""
Else
    Dim bh As String = Format(rq.value,"yyyyMMdd") '取得编号的8位前缀
    If   Tables("库调明细表_主表").Current("业务单号").StartsWith(bh) = False
        Dim max As String
        Dim idx As Integer
        max = DataTables("库调明细表_主表").Compute("Max(业务单号)","[单据日期] = #" & rq.Value & "#  And [_Identify] <> " & Tables("库调明细表_主表").current("_Identify") & " And 品牌 = '" & pp.text & "' And 门店 = '" & md.text & "'")
        If max > "" Then '如果存在最大编号
            idx = CInt(max.Substring(9,3)) + 1
        Else
            idx = 1
        End If
        djbh.text ="KFD"& bh & "-" & Format(idx,"000")
    End If
End If


For Each r1 As Row In Tables("库调明细_副表").Rows
        Dim r2 As Row = Tables("库调明细表_主表").AddNew
        For Each c As Col In Tables("库调明细_副表").Cols
            If Tables("库调明细表_主表").Cols.Contains(c.name) Then
                r2(c.name) = r1(c.name)
            End If
           
        Next
        r2("单据日期")= rq.Value
        r2("收发类型")= djlx.text
        r2("门店")= md.text
        r2("业务单号")= djbh.text
    Next


图片点击可在新窗口打开查看此主题相关图片如下:uf~~$u0ub%{c{k(h_`g0gc.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:124 积分:1071 威望:0 精华:0 注册:2014/3/4 22:06:00
  发帖心情 Post By:2014/4/25 22:03:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:uf~~$u0ub%{c{k(h_`g0gc.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:124 积分:1071 威望:0 精华:0 注册:2014/3/4 22:06:00
  发帖心情 Post By:2014/4/25 22:06:00 [只看该作者]

For Each r1 As Row In Tables("库调明细_副表").Rows
        Dim r2 As Row = Tables("库调明细表_主表").AddNew
        For Each c As Col In Tables("库调明细_副表").Cols
            If Tables("库调明细表_主表").Cols.Contains(c.name) Then
                r2(c.name) = r1(c.name)
            End If
           
        Next
        r2("单据日期")= rq.Value    ‘主要输这一段代码的问题,
        r2("收发类型")= djlx.text
        r2("门店")= md.text
        r2("业务单号")= djbh.text
    Next

 回到顶部