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


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

主题:不同表对比参数。

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
不同表对比参数。  发帖心情 Post By:2020/2/25 17:45:00 [显示全部帖子]

老师 能帮忙看看这个吗?搞了很久都没搞明白?
就是 库存表的产品_产品链号列与订单附表的业务往来_产品链号相同的行切订单附表的业务往来_货物状态列不是已交货的 列里面如果订单附表的订单核算_出单数量列中要有一行小于库存表库存数量列,就填出窗口,““订单编号列内容”有订单出货数量单笔大于库存量

相当于筛选出订单表的业务往来_货物状态列内容不是已交货的行,然后这些行的订单产品编号去对比库存表的库存产品编号,然后如果弹出窗口,订单表出单数量单行小于库存有的数量这些行对应的订单序号列内容,感谢 感谢 

If DataTables("库存表").Compute("sum(产品_产品链号)","采产品_产品链号='" & e.DataRow("业务往来_产品链号")  & "'") > DataTables("订单附表").Compute("sum(订单核算_出单数量)","业务往来_产品链号='" & e.DataRow("业务往来_产品链号")  & "'and 业务往来_货物状态<>'已交货')")
msgbox(““订单编号列内容”有订单出货数量单笔大于库存量)
End If '计算库存供销数量
[此贴子已经被作者于2020/2/25 17:49:52编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2020/2/25 20:11:00 [显示全部帖子]

可以这个样子吗?
自己看有没满足条件的,如果有满足条件的就填出一个窗口,
放到项目的 afteropenproject,然后项目打开后弹出自己升级的一个窗口,然后我下选择要不要显示出列表。就是不知道条件是那里不对

If DataTables("库存表").Compute("sum(库资_库存数量)","采产品_产品链号='" & e.DataRow("业务往来_产品链号")  & "'") > DataTables("订单附表").Compute("sum(订单核算_出单数量)","业务往来_产品链号='" & e.DataRow("业务往来_产品链号")  & "'and 业务往来_货物状态<>'已交货')")
    forms("可发货列表窗口").Open()
End If '计算库存供销数量
订单附订单核算_出单数量 怎么改为是对比的是内容最小的一样呀?感谢 感谢 


[此贴子已经被作者于2020/2/25 20:23:39编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2020/2/25 20:36:00 [显示全部帖子]

谢谢老师,可以把这个功能放到窗口的afterload吗  感谢 感谢 

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2020/2/25 20:54:00 [显示全部帖子]

放在某次窗口的afterload 里面,只有打开某个窗口才能跳出来。感谢 感谢 

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2020/2/25 21:43:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:筛选行.table

老师能在帮忙判断数量列是否有比库存还小的行吗?感谢 感谢 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200225214033.jpg
图片点击可在新窗口打开查看


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2020/2/25 22:35:00 [显示全部帖子]

老师 我想到了一个方法,就是把他们的数据线集中到某个表?
就是订单核算_出单数量可以不是合计吗?可以改为读取值最小的一行的值。感谢 感谢 
If e.DataRow.IsNull("订单序号")=False Then
    Dim dr As DataRow = DataTables("库存表").Find("产品_产品链号='" & e.DataRow("业务往来_产品链号") & "'")
    If dr IsNot Nothing Then
        dr("库存表")=DataTables("订单附表").Compute("sum(订单核算_出单数量)","业务往来_产品链号='" & e.DataRow("业务往来_产品链号")  & "' and 业务往来_方式='订单'and 业务往来_货物状态<>'已交货'and 业务往来_订单性质='工作'")
    End If
End If  '计算数量最小订单

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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2020/2/25 23:03:00 [显示全部帖子]


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200225230106.jpg
图片点击可在新窗口打开查看
谢谢老师。最小那个可以了,
只是这个可以 通过窗口去判断吗?
比如,这里可以点击按钮判断被选择的行他们相同订单序号的中和是否大于对应的产品序号相同的数量大吗
如果大于就填出小窗口,
然后右边的大于的行筛选出,这个可以吗?感谢 感谢

就是左边表格相同编号的被选中的和是否等于右边对应相同的编号对应的数量,感谢 感谢 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:筛选行.table



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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2020/2/26 11:08:00 [显示全部帖子]

太感谢老师了,谢谢 谢谢,就是好像表1和表2有点反了样,感谢  感谢

然后大于改为小于好像也不对,老师能在帮忙看看吗?表一的可以再加一个条件吗?就是比如业务往来_货物状态不等于 待发货和已交货
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


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


加好友 发短信
等级:九尾狐 帖子:2701 积分:17999 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2020/2/26 12:04:00 [显示全部帖子]

感谢老师,都可以了,实在是不知道如何感谢了,
现在就还是反的,老师,现在的程序是选择的行合小于表2对应行再筛选出来,然后可能改为表1选择的行的合大于表2对应的行并筛选出来吗?感谢 感谢 还有个不重要的小问题就是筛选出来后需要切换到全部显现才能在筛选。

 回到顶部