以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教一下两个表之间的数据变化;  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=66869)

--  作者:szoriental
--  发布时间:2015/4/15 11:30:00
--  请教一下两个表之间的数据变化;
一个表名“产品资料”;有品名,规格,物料编号;输入品名和规格自动生成物料编号,代码如下:
Select Case e.DataCol.name
    Case "品名","SIZE"
        e.DataRow("物料编号") = e.DataRow("品名") & e.DataRow("SIZE").Replace(".","0").Replace("*","0")
End Select

***
第二个表名“库存清单”,希望在表“产品资料”中输入品名和规格后,生成物料编号的同时,也在表“库存资料”中自动生成品名,规格和物料编号,代码如下:

Select Case e.DataCol.name
    Case "物料编号"
        Dim dr As DataRow = DataTables("库存清单").Find("物料编号 = \'" & e.OldValue & "\'")
        If dr Is Nothing Then 
            dr = DataTables("库存清单").AddNew()
            dr("物料编号") = e.DataRow("物料编号")
            dr("品名") = e.DataRow("品名")
            dr("size") = e.DataRow("size")
        Else
            dr("物料编号") = e.DataRow("物料编号")
        End If
   
 End Select

新建时可以很好工作,但发现在一个问题,当我在表“产品资料”修改品名或者规格(会生成了一个新的物料编号),但怎么样让它自动修改表“库存清单”中的物料编号,品名和规格,而不是在“库存清单”又新建了一个物料编号,品名和规格?

--  作者:Bin
--  发布时间:2015/4/15 11:37:00
--  
http://www.foxtable.com/help/topics/1453.htm
--  作者:狐狸爸爸
--  发布时间:2015/4/15 11:46:00
--  

可以看看:

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

 


--  作者:szoriental
--  发布时间:2015/4/15 12:01:00
--  
完全不行啊,我是按这上面的代码写的,但在产品表新建立1个产品时,库存表同时新建了3个一样的产品;
--  作者:Bin
--  发布时间:2015/4/15 12:04:00
--  
仔细看帮助,不可能的.除非你代码有误.  搞不定请上例子
--  作者:狐狸爸爸
--  发布时间:2015/4/15 12:11:00
--  

3楼的方法你试试,应该可以的,不行就上例子

[此贴子已经被作者于2015/4/15 12:11:01编辑过]

--  作者:szoriental
--  发布时间:2015/4/15 13:47:00
--  
问题找到了,谢谢了