Foxtable(狐表)用户栏目专家坐堂 → 3个表的思路?


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

主题:3个表的思路?

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/6/30 23:16:00 [显示全部帖子]

表B增加一个发货金额列、datacolchanged
如果录入了发货id和客户,使用compute统计当前表同一个发货id和客户的已收金额和发货金额,如果统计结果已收金额<=发货金额,退出事件,否则就根据发货id和客户从表A、表C查询复制数据

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/2 9:28:00 [显示全部帖子]

先看看:http://www.foxtable.com/webhelp/topics/1522.htm

Dim dr As DataRow = e.DataRow
Select
 Case e.DataCol.Name
    
Case "
收入ID","客户"
      if e.datarow.isnull("
收入ID")=false orelse e.datarow.isnull("客户")=false then
dim je1 as double = DataTables("表A").Compute("Sum(发货金额)","[客户] = '" & dr("客户") & "'")
dim je2 as double = DataTables("表C").Compute("Sum(已收金额)","[收入ID] = '" &  dr("收入ID") & "'")
if je1 < je2 then
msgbox("客户" & dr("客户") & "的发货金额<已收金额")
else
msgbox("客户" & dr("客户") & "的发货金额>=已收金额")
end if
end if
End Select

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/7/3 22:59:00 [显示全部帖子]

datarowadding事件就不需要判断列名了。另外这个事件触发的时候这个行所有列都不会有值的。所以这个事件无法判断


 回到顶部