Foxtable(狐表)用户栏目专家坐堂 → [求助]多条件数据更新


  共有10580人关注过本帖树形打印复制链接

主题:[求助]多条件数据更新

帅哥哟,离线,有人找我吗?
lxhmax
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
[求助]多条件数据更新  发帖心情 Post By: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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
muhua
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2012/9/10 15:30:00 [只看该作者]

用户已被锁定

 回到顶部
帅哥哟,离线,有人找我吗?
lxhmax
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/10 15:33:00 [只看该作者]

我这两个表是没做关联的!

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/9/10 15:33:00 [只看该作者]

如果不想用关联:

 

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
lxhmax
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/10 15:36:00 [只看该作者]

谢谢狐爸~

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/10 15:47:00 [只看该作者]

哈哈 谢谢狐爸~  我脑残了点!

 回到顶部