以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于周期范围取值 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132208) |
-- 作者:工匠 -- 发布时间:2019/3/16 17:41:00 -- [求助]关于周期范围取值 老师好! 请帮完善一下另外一种取值方式: 1.在表A增加行(自动生成了“加入日期”)编辑"子件编码",从表B做如下取值已实现 2.在表A增加行(自动生成了“加入日期”)编辑"子件编码",根据现在的加入日期,以录入的“子件编码”从表B的“产品编码”列找到同值,再从表B“日期”列6个月内或180天内(从表A的加入日期起与表日期6个月内或180天内)取最高/最低/平均单价,请老师帮完善一下,谢谢! Select Case e.DataCol.Name Case "子件编码","子件品名","用量" If e.DataRow.IsNull("子件编码")=False AndAlso e.DataRow.IsNull("子件品名")=False AndAlso e.DataRow.IsNull("用量")=False Then e.DataRow("最高单价") = DataTables("表B").SQLCompute("max(单价)","产品编码=\'" & e.DataRow("子件编码") & "\'") e.DataRow("最低单价") = DataTables("表B").SQLCompute("min(单价)","产品编码=\'" & e.DataRow("子件编码") & "\'") e.DataRow("平均单价") = DataTables("表B").SQLCompute("avg(单价)","产品编码=\'" & e.DataRow("子件编码") & "\'") End If End Select 谢谢!
|
-- 作者:有点蓝 -- 发布时间:2019/3/16 17:45:00 -- 参考:http://www.foxtable.com/webhelp/scr/2720.htm |
-- 作者:工匠 -- 发布时间:2019/3/16 17:59:00 -- 谢谢有点蓝老师,我看了很久帮助,还是不懂如何实现这种需求,请老师帮忙完善一下,谢谢! [此贴子已经被作者于2019/3/17 16:34:57编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/3/18 8:37:00 -- Select Case e.DataCol.Name Case "子件编码","加入日期" If e.DataRow.IsNull("子件编码")=False AndAlso e.DataRow.IsNull("加入日期")=False Then e.DataRow("最高单价") = DataTables("表B").SQLCompute("max(单价)","产品编码=\'" & e.DataRow("子件编码") & "\' and 日期 > \'" & e.DataRow("加入日期").addmonths(-6) & "\'") End If End Select
|
-- 作者:工匠 -- 发布时间:2019/3/18 23:07:00 -- 谢谢老师,有了这个例子,后续多种情况下,取值灵活多了,谢谢! |