Foxtable(狐表)用户栏目专家坐堂 → 不同表对比参数。


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

主题:不同表对比参数。

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/25 20:29:00 [显示全部帖子]

afteropenproject事件没有e.datarow这种参数,表事件才有。


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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/25 22:15:00 [显示全部帖子]

使用SQL处理

Dim filter As String = "Select * from {表B} where 产品序号 In (Select 产品序号 from ("
filter = filter  & " Select 产品序号,sum(库存数量) As 库存数量 from {表B} group by 产品序号) As a left join ("
filter = filter  & " Select 订单序号,sum(订单数量) As 订单数量 from {表A} where 订单状态<> '已交货' group by 订单序号) as b on a.产品序号=b.订单序号"
filter = filter  & " where  a.库存数量 > b.订单数量)"
Tables("窗口1_Table1").Fill(filter,False)

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/25 22:37:00 [显示全部帖子]

dr("库存表")=DataTables("订单附表").Compute("min(订单核算_出单数量)",

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/26 10:50:00 [显示全部帖子]

Dim dict As new Dictionary(of String,Integer)
For Each r As Row In Tables("窗口1_Table1").GetCheckedRows
    If dict.ContainsKey(r("订单序号")) Then
        dict(r("订单序号")) = dict(r("订单序号")) + r("订单数量")
    Else
        dict.Add(r("订单序号"),r("订单数量"))
    End If
Next

Dim s As String = ""
For Each r As Row In Tables("窗口1_Table2").Rows
    If dict.ContainsKey(r("产品序号")) AndAlso dict(r("产品序号")) < r("库存数量") Then
        s = s & ",'" & r("产品序号") & "'"
    End If
Next

If s > "" Then
    Tables("窗口1_Table2").Filter = "产品序号 in (" & s.Trim(",") & ")"
Else
    Tables("窗口1_Table2").Filter ="false"
End If

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/26 11:27:00 [显示全部帖子]

If s > "" Then这句代码没有问题,不要乱改

For Each r As Row In Tables("窗口1_Table1").GetCheckedRows
if r("业务往来_货物状态") <> "待发货" andalso r("业务往来_货物状态") <> "已交货" 
    If dict.ContainsKey(r("订单序号")) Then
        dict(r("订单序号")) = dict(r("订单序号")) + r("订单数量")
    Else
        dict.Add(r("订单序号"),r("订单数量"))
    End If
end if
Next

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/26 12:10:00 [显示全部帖子]

If dict.ContainsKey(r("产品序号")) AndAlso dict(r("产品序号")) > r("库存数量") Then

 回到顶部