以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 数据引用的问题,希望大家能帮忙 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88371) |
||||
-- 作者:jerry85618 -- 发布时间:2016/8/1 19:05:00 -- 数据引用的问题,希望大家能帮忙 查了很多帮助,基本都是操作字表时候引用父表的数据,希望大家能帮忙实现一下。 需求1:订单明细表进行操作的时候,预计库存表里能引用到。 预计库存表以后会做成帮助例子里的流水账。 需求2:销货单增加一行的时候,销货单明细能引用到关联的销售订单的父子表信息。父表引用我靠帮助完成了,字表的部分不会写 实例上传,请大家帮忙
|
||||
-- 作者:jerry85618 -- 发布时间:2016/8/1 19:06:00 -- 此主题相关图片如下:屏幕截图(1).png |
||||
-- 作者:jerry85618 -- 发布时间:2016/8/1 19:06:00 --
|
||||
-- 作者:大红袍 -- 发布时间:2016/8/1 19:09:00 -- 参考
http://www.foxtable.com/webhelp/scr/2490.htm
|
||||
-- 作者:jerry85618 -- 发布时间:2016/8/1 19:21:00 -- 我刚刚测试了一下,日期,存货名称确实按照这种方法可以引用,但数量上引用不了,请帮忙再看一看。 [此贴子已经被作者于2016/8/1 21:17:39编辑过]
|
||||
-- 作者:jerry85618 -- 发布时间:2016/8/1 19:26:00 -- 这里是DataColChanged代码 Select Case e.DataCol.name Case "存货名称" If e.NewValue Is Nothing Then \'如果新值是空白,也就是品名列的内容为空 e.DataRow("单价") = Nothing \'那么清空此行单价列的内容 Else Dim dr As DataRow \'否则在产品表查找同名的产品行,将找到的行赋值给变量dr dr = DataTables("存货").Find("[存货名称] = \'" & e.NewValue & "\'") If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing e.DataRow("销售单位") = dr("销售常用单位") e.DataRow("税率")=dr("税率") \'e.DataRow("交货日期") End If End If \'销售订单日期赋值到销售订单明细表 Dim pr As DataRow=e.DataRow.getparentrow("销售订单") e.DataRow("交货日期")= pr("交货日期") Case "数量","单价","税率" Dim dr1 As DataRow = e.DataRow dr1("金额")= dr1("单价") * dr1("数量") dr1("含税单价")=dr1("单价")*(1+dr1("税率")/100) dr1("含税金额")=dr1("含税单价")*dr1("数量") Case "存货名称","交货日期" Dim dr3 As DataRow = DataTables("预计库存表").AddNew() dr3("相关单据编号") = e.DataRow("单据编号") dr3("日期") =e.DataRow("交货日期") dr3("存货名称") =e.DataRow("存货名称") Case "数量" Dim dr4 As DataRow = DataTables("预计库存表").Find("相关单据 = \'" & e.DataRow("单据编号") & "\'") If dr4 IsNot Nothing Then dr4("预计出库") = e.DataRow("数量") End If End Select
|
||||
-- 作者:jerry85618 -- 发布时间:2016/8/1 20:32:00 -- 在线等,研究了2个小时了,确实没有研究出来。 |
||||
-- 作者:jerry85618 -- 发布时间:2016/8/1 23:15:00 -- 在预计库存表中的DataColChanged代码写了代码,勉强实现了这个功能,但是,销售订单明细表中修改数据的话,这个代码就不起作用了。 大家能不能给个思路呢? |
||||
-- 作者:Hyphen -- 发布时间:2016/8/2 10:52:00 -- case 里的数量重复,只会执行第一个 Select Case e.DataCol.name Case "存货名称" If e.NewValue Is Nothing Then \'如果新值是空白,也就是品名列的内容为空 e.DataRow("单价") = Nothing \'那么清空此行单价列的内容 Else Dim dr As DataRow \'否则在产品表查找同名的产品行,将找到的行赋值给变量dr dr = DataTables("存货").Find("[存货名称] = \'" & e.NewValue & "\'") If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing e.DataRow("销售单位") = dr("销售常用单位") e.DataRow("税率")=dr("税率") \'e.DataRow("交货日期") End If End If \'销售订单日期赋值到销售订单明细表 Dim pr As DataRow=e.DataRow.getparentrow("销售订单") e.DataRow("交货日期")= pr("交货日期") Case "数量","单价","税率" Dim dr1 As DataRow = e.DataRow dr1("金额")= dr1("单价") * dr1("数量") dr1("含税单价")=dr1("单价")*(1+dr1("税率")/100) dr1("含税金额")=dr1("含税单价")*dr1("数量") Case "存货名称","交货日期" Dim dr3 As DataRow = DataTables("预计库存表").AddNew() dr3("相关单据编号") = e.DataRow("单据编号") dr3("日期") =e.DataRow("交货日期") dr3("存货名称") =e.DataRow("存货名称") End Select If e.DataCol.name = "数量" Then Dim dr4 As DataRow = DataTables("预计库存表").Find("相关单据 = \'" & e.DataRow("单据编号") & "\'") If dr4 IsNot Nothing Then dr4("预计出库") = e.DataRow("数量") End If End If |
||||
-- 作者:jerry85618 -- 发布时间:2016/8/2 14:56:00 -- 已经成功了,很感谢,帮助看的不仔细,帮助里用了两个select case |