以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 自动填充数据问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=153039) |
-- 作者:356308762 -- 发布时间:2020/7/29 15:45:00 -- 自动填充数据问题 问题:A表统计成本=B表(多个材料组成的成本)+C表(多个工序成本),已经做了A_B,A_C两个关联表。如何在A表增加1行,并填入商品后,在A_C表和A_B表能自动填入我指定的那几个材料和工序,还有指定的数量。 |
-- 作者:有点蓝 -- 发布时间:2020/7/29 15:48:00 -- 参考:http://www.foxtable.com/webhelp/topics/1472.htm |
-- 作者:356308762 -- 发布时间:2020/7/30 0:53:00 -- ![]() ![]() 老师您好,A表所有商品是不重复的,而所有商品的材料和工序又都是几乎一样的,只是数量不同。 所以我希望的是从A表输入一个商品,子表A_B表和A_C表能自动输入都是一样的材料和工序,并输入一个默认数量,这样我只要修改部分不同的数量就行了。 您给的参考,我没转过来要怎么来实现这个。
|
-- 作者:有点蓝 -- 发布时间:2020/7/30 9:01:00 -- 意思是A表输入商品的时候,自动给其它表新增行?到datacolchanged事件处理 if e.datacol.name = "商品" andalso e.newvalue > "" then dim r as row = tables("xx子表").addnew r("第一列") = xxx r("第二列") = xxx end if
|
-- 作者:356308762 -- 发布时间:2020/7/30 12:21:00 -- 回复:(有点蓝)意思是A表输入商品的时候,自动给其它... 老师您好,我试了下,这样父表A的商品名称不能更改,不然就会在子表又添加一遍数据会重复。 If e.DataCol.name = "商品_名称" AndAlso e.newvalue > "" Then |
-- 作者:有点蓝 -- 发布时间:2020/7/30 14:03:00 -- 如果可以改商品名称,您希望怎么做? 如果还有另外一个表,重复复制中间三行代码使用即可。 分隔符是什么意思,每个名称一行数据?还是指多值字段?
|
-- 作者:356308762 -- 发布时间:2020/7/30 14:23:00 -- 回复:(有点蓝)如果可以改商品名称,您希望怎么做?... 老师,是每个名称一行数据。 |
-- 作者:有点蓝 -- 发布时间:2020/7/30 14:57:00 -- If e.DataCol.name = "商品_名称" AndAlso e.newvalue > "" Then dim s1() as string = {"手工绕线" , "焊接1","装配1","粘合","包装1"}
dim s2() as string ={"2","1","1","1","1"} for i as integer = 0 to s1.length - 1 Dim r As Row = Tables("成品记录.组装工序").addnew r("工序_名称") = s1(i) r("工序_数量") = s2(i) next End If |
-- 作者:356308762 -- 发布时间:2020/7/30 20:25:00 -- 回复:(有点蓝)If e.DataCol.name = "商品_名称" An... 非常感谢老师! 现在又出现了一个问题,就是子表会自动录2遍。我只要1遍就行了。
If e.DataCol.name = "商品_名称" AndAlso e.newvalue > "" Then Dim s1() As String = {"手工绕线","焊接1","装配1","粘合","包装1"} Dim s2() As String ={"2","2","1","1","1"} For i As Integer = 0 To s1.length - 1 Dim r As Row = Tables("成品记录.组装工序").addnew r("工序_名称") = s1(i) r("工序_数量") = s2(i) Next Dim s3() As String = {"111","222","333"} Dim s4() As String ={"2","2","1"} For i As Integer = 0 To s1.length - 3(这句是什么意思?试了下,这个只能设置3以上,不然会出现超出范围的提示) Dim r As Row = Tables("成品记录.组装单").addnew r("子件_名称") = s3(i) r("子件_数量") = s4(i) Next End If |
-- 作者:有点蓝 -- 发布时间:2020/7/30 20:28:00 -- Dim s3() As String = {"111","222","333"} Dim s4() As String ={"2","2","1"} For i As Integer = 0 To s3.length - 1(这句是什么意思?试了下,这个只能设置3以上,不然会出现超出范围的提示) Dim r As Row = Tables("成品记录.组装单").addnew r("子件_名称") = s3(i) r("子件_数量") = s4(i) Next
|