以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何通过代码判断匹配对应数据?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103522)

--  作者:magus1123
--  发布时间:2017/7/10 18:04:00
--  [求助]如何通过代码判断匹配对应数据?
各位老大们好

想请教一下,这个代码应该怎么写?
在查询表中的表达式列中实现自动判断该行的“日均销量”属于表“设置参数”中的哪一列,然后返回对应数据。
代码查了半天还是写不出来。。
拜托各位了


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

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


[此贴子已经被作者于2017/7/22 1:15:03编辑过]

--  作者:有点甜
--  发布时间:2017/7/10 18:23:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:magus1123
--  发布时间:2017/7/10 19:46:00
--  
甜老大,这个有办法用表达式或全局代码、全局变量来实现吗?因为后续还有别的模块需要这个功能。。。
--  作者:有点蓝
--  发布时间:2017/7/10 20:43:00
--  
查询_采购关联,DataColChanged事件,需要重置"日均销量"列


If e.DataCol.Name = "日均销量"  AndAlso e.NewValue > 0 Then
    Dim dr As DataRow = DataTables("设置参数").Find("预警库存_日销大于 < " & e.NewValue & " and 预警库存_日销小于等于 >= " & e.NewValue)
    If dr IsNot Nothing Then
        e.DataRow("库存预警_预警天数") = dr("预警库存_预警库存天数")
    End If
End If

--  作者:magus1123
--  发布时间:2017/7/10 21:03:00
--  
已成功!
非常感谢!!!!

--  作者:magus1123
--  发布时间:2017/7/11 18:47:00
--  
老师,您看下我这段代码对吗?为什么会一直出错。。

If e.DataCol.Name = "供应商"  AndAlso e.NewValue IsNot Nothing Then
    Dim dr As DataRow = DataTables("供应商设置").Find("名称 = " & e.NewValue )
    If dr IsNot Nothing Then
        e.DataRow("jhj") = dr("起订量")
    End If
End If

目的是实现查询表 供应商设置 中“名称”栏,返回数据“起订量”
而且现在一旦修改供应商中名称一栏,产品供应商表格就出错,修改不了供应商一栏

.NET Framework 版本:2.0.50727.8745
Foxtable 版本:2017.6.12.1
错误所在事件:表,产品供应商,DataColChanged
详细错误信息:
调用的目标发生了异常。


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip



--  作者:magus1123
--  发布时间:2017/7/11 19:11:00
--  
把表事件去掉后面就不会出现出错提示了,不过这个事件代码要怎么写才能实现呢?
--  作者:有点蓝
--  发布时间:2017/7/11 21:03:00
--  
If e.DataCol.Name = "供应商"  AndAlso e.NewValue > "" Then
    Dim dr As DataRow = DataTables("供应商设置").Find("名称 = \'" & e.NewValue & "\'")
    If dr IsNot Nothing Then
        e.DataRow("jhj") = dr("起订量")
    End If
End If

--  作者:magus1123
--  发布时间:2017/7/11 22:11:00
--  
谢谢老师!已经解决了!
还有一个问题想请教老师,现在我们标准库存天数的计算方法是:供应商起订量/各个产品规格的日均销量
但是实际上对于供应商只要是产品相同(即品名相同,规格可以不同)即可。现在我们的算法是按每种产品规格都满足起订量来设置的,会导致库存增加很多。

foxtable强大的汇总模式已经统计出品名相同的产品在同一供应商下的各规格累计日均销量了。
有没有办法可以使用汇总模式中的数据来进行计算?即使用红色箭头中的”产品A+供应商A的日均销量累计值“ ,将紫色框中的 ”标准预警天数“表达式设置为" [供应商起订量] / [产品A+供应商A的日均销量累计值] ” 

谢谢老师!

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



[此贴子已经被作者于2017/7/11 22:12:03编辑过]

--  作者:magus1123
--  发布时间:2017/7/11 22:17:00
--  
附件如下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


[此贴子已经被作者于2017/7/11 22:17:36编辑过]