以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]有效价格的提取怎么处理  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=140912)

--  作者:hh5481115
--  发布时间:2019/9/17 14:28:00
--  [求助]有效价格的提取怎么处理
我是小白,想问问各位大神,价格审批表里面价格是有时间限制的,订单筛选价格根据“价格起始日期=<送货日期=<价格截止日期”选取对应的价格,要怎么弄?求大神指点

此主题相关图片如下:1568701462.png
按此在新窗口浏览图片

此主题相关图片如下:1568701462(1).png
按此在新窗口浏览图片

--  作者:有点蓝
--  发布时间:2019/9/17 14:58:00
--  
如:
dim d as date = date.today
tables("价格审批").filter = "价格起始日期 <= #" & d & "# and 价格截止日期 > #" & d & "#"
--  作者:hh5481115
--  发布时间:2019/9/19 14:31:00
--  
蓝主,如果我想像表达式一样,输入存货编码,填写要求交货日期之后,有效价格能自动显示,需要怎么改,试了两天,老是不对,拜求方法
--  作者:有点蓝
--  发布时间:2019/9/19 14:48:00
--  
日期不支持使用表达式计算。只能使用代码处理
--  作者:hh5481115
--  发布时间:2019/9/19 15:04:00
--  
我就是看了帮助,代码用帮助上改的老是提示错误,本来想用帮助上的跨表引用代码IF,但里面老是改不对,总提示错误图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2019/9/19 15:07:00
--  
贴出代码,或者上传实例说明
--  作者:hh5481115
--  发布时间:2019/9/19 18:16:00
--  
If e.DataCol.Name = "存货编码" Then
    If e.NewValue Is Nothing Then
        e.DataRow("单价") = Nothing
    Else
        Dim dr As DataRow
        Dim d As DataRow=e.DataRow
        dr = DataTables("价格审批台账").Find("[存货编码] = \'" & e.NewValue & "\'")
        d=DataTables("价格审批台账").Find("起始 <= #" & d & "# and 截止 > #" & d & "#" )
        If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing
            e.DataRow("单价") = dr("单价")
        End If
    End If
End If
瞎鼓捣,提示没有定义运算符图片点击可在新窗口打开查看

--  作者:有点酸
--  发布时间:2019/9/19 22:58:00
--  

d = DataTables("价格审批台账").Find("起始 <= #" & d & "# and 截止 > #" & d & "#" )

需要指定列名,例如:

d=DataTables("价格审批台账").Find("起始 <= #" & d("起始日期") & "# and 截止 > #" & d("截止日期") & "#" )



--  作者:hh5481115
--  发布时间:2019/9/20 17:30:00
--  
Select Case e.DataCol.Name
    Case "存货编码","要求交货日期"
        Dim dr As DataRow = e.DataRow
        Dim pr As DataRow = e.DataRow
        If dr.IsNull("存货编码") OrElse dr.IsNull("要求交货日期") Then
            dr("单价") = Nothing
        Else
       pr= DataTables("价格审批台账").Find("起始 <= #" & pr("要求交货日期") & "# and 截止 >= #" & pr("要求交货日期") & "#" )
         If pr IsNot Nothing Then
         dr("单价") = pr("单价")
            End If
        End If
End Select
瞎鼓捣居然无意中给弄出来了图片点击可在新窗口打开查看

--  作者:hh5481115
--  发布时间:2019/9/20 17:31:00
--  
感谢两位大神