以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- [求助]两个表格中数据对应行设置关联并增加对应那么多行 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=52478)
|
-- 作者:good131577
-- 发布时间: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 然后会员编号复制到每一行来
这个代码怎么实现啊~ 求大神指点 麻烦解决下 新手不懂
|
-- 作者:有点甜
-- 发布时间: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
-- 发布时间: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 黄瓜
麻烦能不能解决下~
|
-- 作者:有点甜
-- 发布时间: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
-- 发布时间: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
-- 发布时间:2014/6/16 23:13:00
--
忘记附图了 不好意思~ 此主题相关图片如下:35.png
此主题相关图片如下:36.png
|
-- 作者:有点甜
-- 发布时间: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
-- 发布时间:2014/6/16 23:27:00
--
.NET Framework 版本:2.0.50727.5456 Foxtable 版本:2014.5.12.1 错误所在事件:表,装配表,DataColChanged 详细错误信息: 调用的目标发生了异常。 列“品种”不属于表 当天配送会员。 出错 此主题相关图片如下:37.png
|
-- 作者:good131577
-- 发布时间:2014/6/16 23:30:00
-- 好像出错了
.NET Framework 版本:2.0.50727.5456 Foxtable 版本:2014.5.12.1 错误所在事件:表,装配表,DataColChanged 详细错误信息: 调用的目标发生了异常。 列“品种”不属于表 当天配送会员。 出错 品种属于其他表格的?
|
-- 作者:有点甜
-- 发布时间: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
|
|