Foxtable(狐表)用户栏目专家坐堂 → 如何后台跨表引用


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

主题:如何后台跨表引用

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


加好友 发短信
等级:幼狐 帖子:161 积分:1240 威望:0 精华:0 注册:2019/10/12 19:54:00
如何后台跨表引用  发帖心情 Post By:2021/5/17 19:41:00 [只看该作者]

If e.DataCol.Name = "品名" Then '如果内容发生变动的是品名列
    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("单价")
        End
If
    End
If
End
If

以上为跨表引用的代码。但是此代码生效前提为"产品"表的所有行已加载,若要跨表引用未加载行的数据则无法实现。请问如何从后台所有数据中跨表引用

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/17 20:36:00 [只看该作者]

dr = DataTables("产品").SQLFind("[品名] = '" & e.NewValue & "'")


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


加好友 发短信
等级:幼狐 帖子:161 积分:1240 威望:0 精华:0 注册:2019/10/12 19:54:00
  发帖心情 Post By:2021/5/18 10:53:00 [只看该作者]

谢谢,那请问如果是跨表引用的自动更新呢
If e.DataCol.Name = "单价"
   
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

我改成了DataTables("订单").sqlSelect(Filter)后并没有效果

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/5/18 11:03:00 [只看该作者]

处理后台数据这章的内容都全部看看呗:http://www.foxtable.com/webhelp/topics/2901.htm

 回到顶部