以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]多条件数据更新  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23372)

--  作者:lxhmax
--  发布时间:2012/9/10 15:19:00
--  [求助]多条件数据更新

如果产品表和订单表是通过品名、型号、规格这三列联系起来的(不管是否建立了关联),在订单表输入品名、型号、规格后,再从产品表找出对应产品的单价,填入单价列中,那么订单表的DataColChanged事件可如下设置代码:

Select Case e.DataCol.Name
    Case
"品名","型号",
"规格"
       
Dim dr As DataRow = e.DataRow
       
Dim pr As DataRow
       
If dr.IsNull("品名") OrElse dr.IsNull("型号") OrElse dr.IsNull("规格") Then
            dr(
"单价") = Nothing
       
Else
           
Dim filter As String
            filter =
"品名 = \'" & dr("品名") & "\' And 型号 = \'" & dr("型号") & "\' And 规格 = \'" & dr("规格") & "\'"
            pr =
DataTables("产品").Find(filter)
            If
pr IsNot Nothing
Then
                dr(
"单价") = pr("单价")
            End
If
       
End If
End
Select

 

请问下,对于这段代码,如果订单表跟产品表都已经录完了,当我修改产品表的时候订单表的价格也可以实时的更新,这要怎么弄呢~!谢谢啦!


--  作者:lxhmax
--  发布时间:2012/9/10 15:33:00
--  
我这两个表是没做关联的!
--  作者:狐狸爸爸
--  发布时间:2012/9/10 15:33:00
--  

如果不想用关联:

 

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

 


--  作者:lxhmax
--  发布时间:2012/9/10 15:36:00
--  

谢谢狐爸~

 

      品名是有一样的,除了品名,还有另外两个条件来锁定同样的数据,这个三个条件的要怎么写呢?


--  作者:狐狸爸爸
--  发布时间:2012/9/10 15:43:00
--  

你一楼都可以组合三列的条件,难道自动更新的时候,就不会组合了?
 
帮助是:

 

If e.DataCol.Name = "单价"
     Dim dr As DataRow = e.DataRow
    Dim Filter As String = "[品名] = \'" & e.DataRow("品名") & "\'"
    Dim drs As List(Of DataRow) = DataTables("订单").Select(Filter)
    For Each dr As DataRow In drs
        dr("单价") = e.DataRow("单价")
    Next
End If

 

你改为:

If e.DataCol.Name = "单价"
    Dim Filter As String = "品名 = \'" & e.datarow("品名") & "\' And 型号 = \'" & e.datarow("型号") & "\' And 规格 = \'" & e.datarow("规格") & "\'"
    Dim drs As List(Of DataRow) = DataTables("订单").Select(Filter)
    For Each dr As DataRow In drs
        dr("单价") = e.DataRow("单价")
    Next
End If

[此贴子已经被作者于2012-9-10 15:43:38编辑过]

--  作者:lxhmax
--  发布时间:2012/9/10 15:47:00
--  
哈哈 谢谢狐爸~  我脑残了点!