Foxtable(狐表)用户栏目专家坐堂 → 请问如何向其他表添加多行数据


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

主题:请问如何向其他表添加多行数据

美女呀,离线,留言给我吧!
youngling
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:115 积分:895 威望:0 精华:0 注册:2012/12/18 16:55:00
请问如何向其他表添加多行数据  发帖心情 Post By:2014/12/18 20:24:00 [只看该作者]

需要根据订单主表的订单行数向订单明细表新增相应行数,并在新增的行里面 把对应行的客户,客户订单号,下单日期添加到新增的行里面,代码我写了,但只能向新增的第一行添加数据,请问该如何改下代码呀。

 

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

 

代码如下:

Select Case e.DataCol.Name
    Case "订单行数"
        If e.DataRow.IsNull("订单行数") = False Then '如果已经输入客户订单号
            If e.DataRow.GetChildRows("订单明细表").Count = 0 Then '而且无订单明细
                Dim DL As Integer
                'If e.DataCol.Name = "订单行数" Then
                DL = e.DataRow("订单行数")
                Dim c As Integer= Tables("订单明细表").Rows.count  '将行数赋值给c
                'DataTables("订单明细表").AddNew( DL )
                Dim dr As DataRow = DataTables("订单明细表").AddNew(DL)
                Dim i As Integer
                For i = c To c + DL   ‘这段循环语句不起作用呀
                    dr("客户订单号") = e.DataRow("客户订单号")
                    dr("客户") = e.DataRow("客户")
                    dr("下单日期") = e.DataRow("下单日期")
                    dr("内部订单号") = e.DataRow("内部订单号")
                Next
           End If
        End If
End Select

 

另外我需要实现订单明细表如果有重复行就提示重复行,我在论坛搜到一段代码很有用,只是我想改下却不会改。代码如下:

 

'任意列数重复值判断的通用代码给有需要的同学,假设我们用:客户订单号 客户产品号 订单行号 3列来做判断
Dim str0 As New List (Of String)
        Dim str1 As New List (Of String)
        Dim id0,id1,flt,celltext As String
        For Each r As Row In CurrentTable.Rows
            celltext=r("客户订单号")&r("客户产品号")&r("订单行号")
            If str0.Contains(celltext) =False Then
                id0 + = r("_Identify") & ","

            Else
                str1.Add(celltext)
               
            End If
            str0.Add(celltext)
        Next
       
        For Each r As Row In CurrentTable.Rows
            celltext=r("客户订单号")&r("客户产品号")&r("订单行号")
            If str1.Contains(celltext) Then
                id1 + = r("_Identify") & ","
               
            End If
        Next
       
        If id1 > "" Then
            id1 = id1.Trim(",")
        msgbox("存在重复数据,请核实!")
        End If
       
        If id1 > "" Then
            flt = "_Identify In (" & id1 & ")"
        End If
       
        CurrentTable.Filter = flt

        CurrentTable.Sort="客户订单号,客户产品号,订单行号"

 

我需要改写成如果没有重复代码就直接保存,现在的代码会把数据排序,我不需要这个功能,我只需要把重复数据筛选出来供查看就可以了。这个该如何改?

 

 

请高手指教! 谢谢!

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

[此贴子已经被作者于2014-12-18 20:24:36编辑过]

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


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

 

 

 重复的行指什么?参考 http://www.foxtable.com/help/topics/2481.htm

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


 回到顶部
美女呀,离线,留言给我吧!
youngling
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:115 积分:895 威望:0 精华:0 注册:2012/12/18 16:55:00
  发帖心情 Post By:2014/12/18 21:46:00 [只看该作者]

谢谢甜老师。

 

根据你给出的参考页,我已经改好了。


 回到顶部