以文本方式查看主题

-  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
    DataTables("表B").ReplaceFor("第一列", r("第一列"), "第二列 = \'" & r("第二列") & "\'")
Next


--  作者: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:非常感谢,不过在运行的时候还有点小问题,不过现在我感觉离成功不远了。真心谢谢。