前段时间参考和学习了一下教程,帮一个网友做了进销存和财务系统,其中一个功能就是根据选择的供应商、物料编号、采购数量,自动读取报价表有效日期内对应的MOQ报价资料,网上没见到实现的实例,自己折腾了一会不完全正确,后来认真想想这个问题的关键就是查找报价表有效日期内比采购数量大的最小MOQ,搞清楚这个逻辑,实现起来就简单多了。
代码如下:
Dim MinMOQ As Long
MinMOQ = DMin("MOQ", "Qty供应商报价明细表_List", "供应商ID = '" & Me.Parent.供应商ID & "' And 物料编号='" & Me.物料编号 & "'" _
& "And 价格有效起 <= #" & Me.Parent.采购日期 & "# And 价格有效止 >= #" & Me.Parent.采购日期 & "#")
Me.单价 = DLookup("单价", "Qty供应商报价明细表_List", "供应商ID = '" & Me.Parent.供应商ID & "' And 物料编号='" & Me.物料编号 & "'" _
& "And 价格有效起 <= #" & Me.Parent.采购日期 & "# And 价格有效止 >= #" & Me.Parent.采购日期 & "# And MOQ = " & MinMOQ)
这样就实现了按指定的供应商、物料编号,采购数量,采购日期、MOQ来读取单价了。
具体的可以看看附件示例。
点击下载此附件
图 示: