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


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

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

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
[求助]两个表格中数据对应行设置关联并增加对应那么多行  发帖心情 Post By:2014/6/16 21:57:00 [只看该作者]

我是foxtable开发版用户 新手 ~
求助问题:
我有一个 当天配送会员表 以及 装配表 字段如图所示
要求 选择装配表里的日期 可以自动筛选出 当天配送会员表中对应日期的
图片点击可在新窗口打开查看此主题相关图片如下:31.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:32.png
图片点击可在新窗口打开查看
员编号并复制到装配表里面的会员编号字段 

比如 当天配送会员表 2014-06-12 有4个会员编号7012 7013 7014 7015 
想实现当点击装配表里面的日期选2014-06-12 时 自动增加4行 (增加的行数是根据当天配送会员表里的日期对应的会员数目确定的)
4行记录 日期都是2014-06-12 然后会员编号复制到每一行来

这个代码怎么实现啊~ 求大神指点 麻烦解决下 新手不懂

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
问一个  发帖心情 Post By:2014/6/16 22:39:00 [只看该作者]

厉害了 功能实现了~
能不能麻烦在问个问题 我具体功能是这样的

还有个蔬菜采收表
当点击装配表里面的日期按钮 首
图片点击可在新窗口打开查看此主题相关图片如下:33.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:34.png
图片点击可在新窗口打开查看
先是根据日期筛选出对应日期 配送会员里面的所有会员
其次 是看蔬菜采收表对应日期里面 有多少品种的蔬菜 对每个客户编号那一行又变成 蔬菜采收表里面对应日期的品种数目行数并复制到对应的品种字段

例如 蔬菜采收表 2014-06-12有 5种品种 上海青 苦瓜 丝瓜 西红柿 黄瓜
我最终是想变成 当点击装配表里面的日期 如2014-06-12 生成4 * 5 =20行数据 
大概这样的形式:
2014-06-12 7012 上海青
2014-06-12 7012 苦瓜
2014-06-12 7012 丝瓜
2014-06-12 7012 西红柿
2014-06-12 7012 黄瓜
2014-06-12 7013 上海青
2014-06-12 7013 苦瓜
2014-06-12 7013 丝瓜
2014-06-12 7013 西红柿
2014-06-12 7013 黄瓜

麻烦能不能解决下~

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 


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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
腻害啊 可以了~  发帖心情 Post By:2014/6/16 23:11:00 [只看该作者]

腻害啊 可以了~赞

最后一个进一步功能了 麻烦了
形成了 
2014-06-12 7012 上海青
2014-06-12 7012 苦瓜
2014-06-12 7012 丝瓜
2014-06-12 7012 西红柿
2014-06-12 7012 黄瓜
装配表里面还有两个字段 喜好 和 配比
 喜好 是从蔬菜喜好表 根据会员编号和产品来判断对应会员 吃不吃 根据这个表对喜好字段赋值过去
 配比字段 如果喜好是吃或者爱吃 配比设置为1 如果喜好是不吃 配比设置为0

最终形成大概这样:
2014-06-12 7012 上海青 吃     1
2014-06-12 7012 苦瓜   不吃   0
2014-06-12 7012 丝瓜   吃      1
2014-06-12 7012 西红柿 爱吃   1
2014-06-12 7012 黄瓜   吃      1

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
  发帖心情 Post By:2014/6/16 23:13:00 [只看该作者]

忘记附图了 不好意思~
图片点击可在新窗口打开查看此主题相关图片如下:35.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:36.png
图片点击可在新窗口打开查看


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

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
  发帖心情 Post By:2014/6/16 23:27:00 [只看该作者]

.NET Framework 版本:2.0.50727.5456
Foxtable 版本:2014.5.12.1
错误所在事件:表,装配表,DataColChanged
详细错误信息:
调用的目标发生了异常。
列“品种”不属于表 当天配送会员。
出错
图片点击可在新窗口打开查看此主题相关图片如下:37.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:幼狐 帖子:184 积分:1148 威望:0 精华:0 注册:2014/6/10 20:24:00
好像出错了  发帖心情 Post By:2014/6/16 23:30:00 [只看该作者]

.NET Framework 版本:2.0.50727.5456
Foxtable 版本:2014.5.12.1
错误所在事件:表,装配表,DataColChanged
详细错误信息:
调用的目标发生了异常。
列“品种”不属于表 当天配送会员。
出错  品种属于其他表格的?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 回到顶部
总数 18 1 2 下一页