Foxtable(狐表)用户栏目专家坐堂 → [求助]两个表格中数据对应行设置关联并增加对应那么多行


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

主题:[求助]两个表格中数据对应行设置关联并增加对应那么多行

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/16 22:07:00 [显示全部帖子]

 这个简单,编写Datacolchanged事件

 

SystemReady = False
Select Case e.DataCol.name
    Case "日期"
        If e.DataRow.Isnull("日期") = False Then
            For Each dr As DataRow In DataTables("当天配送会员").Select("日期 = #" & e.DataRow("日期") & "#")
                Dim ndr As DataRow = e.DataTable.addnew
                ndr("日期") = dr("日期")
                ndr("会员编号") = dr("会员编号")
            Next
            e.DataRow.Delete
        End If      
End Select
SystemReady = True

[此贴子已经被作者于2014-6-16 22:07:48编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/16 22:49:00 [显示全部帖子]

如下

 

SystemReady = False
Select Case e.DataCol.name
    Case "日期"
        If e.DataRow.Isnull("日期") = False Then
            Dim drs As List(Of DataRow) = DataTables("蔬菜收集表").Select("日期 = #" & e.DataRow("日期") & "#")
            For Each dr As DataRow In DataTables("当天配送会员").Select("日期 = #" & e.DataRow("日期") & "#")
                For Each cdr As DataRow In drs
                    Dim ndr As DataRow = e.DataTable.addnew
                    ndr("日期") = dr("日期")
                    ndr("会员编号") = dr("会员编号")
                    ndr("品种") = cdr("品种")
                Next
            Next
            e.DataRow.Delete
        End If
End Select
SystemReady = True

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/16 23:19:00 [显示全部帖子]

SystemReady = False
Select Case e.DataCol.name
    Case "日期"
        If e.DataRow.Isnull("日期") = False Then
            Dim drs As List(Of DataRow) = DataTables("蔬菜收集表").Select("日期 = #" & e.DataRow("日期") & "#")
            For Each dr As DataRow In DataTables("当天配送会员").Select("日期 = #" & e.DataRow("日期") & "#")
                For Each cdr As DataRow In drs
                    Dim ndr As DataRow = e.DataTable.addnew
                    ndr("日期") = dr("日期")
                    ndr("会员编号") = dr("会员编号")
                    ndr("品种") = cdr("品种")
                    Dim fdr As DataRow = DataTables("蔬菜喜好表").Find("会员编号 = '" & dr("会员编号") & "' and 产品 = '" & dr("品种") & "'")
                    If fdr IsNot Nothing Then
                        ndr("喜好") = fdr("喜好")
                        If fdr("喜好") = "吃" OrElse fdr("喜好") = "爱吃" Then
                            ndr("配比") = 1
                        Else
                            ndr("配比") = 0
                        End If
                    End If
                Next
            Next
            e.DataRow.Delete
        End If
End Select
SystemReady = True

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/17 9:19:00 [显示全部帖子]

SystemReady = False
Select Case e.DataCol.name
    Case "日期"
        If e.DataRow.Isnull("日期") = False Then
            Dim drs As List(Of DataRow) = DataTables("蔬菜收集表").Select("日期 = #" & e.DataRow("日期") & "#")
            For Each dr As DataRow In DataTables("当天配送会员").Select("日期 = #" & e.DataRow("日期") & "#")
                For Each cdr As DataRow In drs
                    Dim ndr As DataRow = e.DataTable.addnew
                    ndr("日期") = dr("日期")
                    ndr("会员编号") = dr("会员编号")
                    ndr("品种") = cdr("品种")
                    Dim fdr As DataRow = DataTables("蔬菜喜好表").Find("会员编号 = '" & dr("会员编号") & "' and 产品 = '" & cdr("品种") & "'")
                    If fdr IsNot Nothing Then
                        ndr("喜好") = fdr("喜好")
                        If fdr("喜好") = "吃" OrElse fdr("喜好") = "爱吃" Then
                            ndr("配比") = 1
                        Else
                            ndr("配比") = 0
                        End If
                    End If
                Next
            Next
            e.DataRow.Delete
        End If
End Select
SystemReady = True

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/17 12:09:00 [显示全部帖子]

 你可以设置一下汇总。

 

http://www.foxtable.com/help/topics/00144.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/17 14:06:00 [显示全部帖子]

SystemReady = False
Select Case e.DataCol.name
    Case "日期"
        If e.DataRow.Isnull("日期") = False Then
            Dim drs As List(Of DataRow) = DataTables("蔬菜收集表").Select("日期 = #" & e.DataRow("日期") & "#")
            For Each dr As DataRow In DataTables("当天配送会员").Select("日期 = #" & e.DataRow("日期") & "#")
                For Each cdr As DataRow In drs
                    Dim ndr As DataRow = e.DataTable.addnew
                    ndr("日期") = dr("日期")
                    ndr("会员编号") = dr("会员编号")
                    ndr("品种") = cdr("品种")
                    Dim fdr As DataRow = DataTables("蔬菜喜好表").Find("会员编号 = '" & dr("会员编号") & "' and 产品 = '" & cdr("品种") & "'")
                    If fdr IsNot Nothing Then
                        ndr("喜好") = fdr("喜好")
                        If fdr("喜好") = "吃" OrElse fdr("喜好") = "爱吃" Then
                            ndr("配比") = 1
                        Else
                            ndr("配比") = 0
                        End If
                    End If
                Next
            Next
            For Each dr As DataRow In e.DataTable.Select("日期 = #" & e.DataRow("日期") & "#")
                dr("小计") = e.DataTable.compute("sum(配比)", "日期 = #" & dr("日期") & "# and 会员编号 = '" & dr("会员编号") & "'")
            Next
            e.DataRow.Delete
        End If
End Select
SystemReady = True

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/17 14:57:00 [显示全部帖子]

 这个没有办法。如果要达到合并目的,你的 小计列要移到第三列,然后合并类型要用【标准】

 回到顶部