以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 老师们帮忙解决下如何用临时表更新正式表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=75410) |
-- 作者:wangguiwang -- 发布时间:2015/10/8 9:58:00 -- 老师们帮忙解决下如何用临时表更新正式表 请老师们、高手们帮忙解决下这个难题: 如何用附件中窗口TABLE“模拟过账”这个临时表里的“库存单价”列,通过单击“模拟过账”这个按扭,进行更新“仓库单据明细”表中的“库存单价”列。
要求1.根据两个表里对应的物料编码,进行条件匹配。 2.根据窗口TABLE“模拟过账”中“开始日期”、“结束日期”的控件,与“仓库单据明细”表中的“日期列” 进行条件匹配 。 3. “仓库单据明细”表中的“出入库类型” 等于CK。 |
-- 作者:大红袍 -- 发布时间:2015/10/8 10:06:00 -- 循环临时表的每一行,然后合成条件,用replacefor替换明细表的单价即可。 |
-- 作者:wangguiwang -- 发布时间:2015/10/8 10:16:00 -- 大红袍老师:能否帮我这段代码写一下,这个问题我研究了好长时间了,都没能如愿,实在是搞不定。 |
-- 作者:大红袍 -- 发布时间:2015/10/8 10:38:00 -- 参考代码
for each r as row in tables("表A").rows |
-- 作者:wangguiwang -- 发布时间:2015/10/8 10:40:00 -- 好的,我先试下,谢谢老师。 |
-- 作者:wangguiwang -- 发布时间:2015/10/10 9:40:00 -- 大红袍老师:这两天我按照你给的参考代码再增加了条件做了下,但还是不行。以下是我这边自己写的代码,但是根本就行不通,现在我的这个小系统就差这个最后的难题了,还得烦请老师再帮我指导一下,谢谢! For Each r As Row In Tables("收发存查询_Table1").rows Dim dr As DataRow dr = DataTables("出入库单明细").Find("物料编码 = " & r("物料编码") AND "CK = " & r("出入库类型") AND "e.Form.Controls("开始日期") <= " & r("日期")AND "e.Form.Controls("结束日期")>= " & r("日期")) If dr IsNot Nothing Then DataTables("出入库单明细").ReplaceFor("出库单价", r("库存单价")) End If Next |
-- 作者:Hyphen -- 发布时间:2015/10/10 16:38:00 -- For Each r As Row In Tables("收发存查询_Table1").rows DataTables("出入库单明细").ReplaceFor("出库单价", r("库存单价"), "物料编码 = \'" & r("物料编码") & "\' And CK = \'" & r("出入库类型") & "\' And 开始日期 <= #" & r("日期") & "# And 结束日期 >= #" & r("日期") & "#") Next |
-- 作者:wangguiwang -- 发布时间:2015/10/10 16:54:00 -- Hyphen:非常感谢,不过在运行的时候还有点小问题,不过现在我感觉离成功不远了。真心谢谢。 |