以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  有两个表,一个是入库单 一个是入库单明细 表。求教一个跨表引用的问题。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=23703)

--  作者:akzzwj
--  发布时间:2012/9/17 15:45:00
--  有两个表,一个是入库单 一个是入库单明细 表。求教一个跨表引用的问题。

有两个表,一个是入库单 一个是入库单明细 表。根据 编号 跨表引用 日期 和月份。代码如下:

If e.DataCol.Name = "编号" Then \'如果内容发生变动的是品名列
    If e.NewValue Is Nothing Then \'如果新值是空白,也就是品名列的内容为空
        e.DataRow("日期") = Nothing \'那么清空此行单价列的内容
        e.DataRow("月份") = Nothing
    Else
        Dim dr As DataRow
        \'否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        dr = DataTables("入库单").Find("[编号] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing Then \'如果找到了同名的产品行,也就是dr不是Nothing
            e.DataRow("日期") = dr("日期")
            e.DataRow("月份") = Format(e.DataRow("日期"),"yyyyMM")
        End If
    End If
End If

 

代码的效果如下图所示:

 我想实现这样的效果:日期:2012-06-20 月份:201206.请问如何调整代码实现这样的效果。


图片点击可在新窗口打开查看此主题相关图片如下:100.jpg
图片点击可在新窗口打开查看

--  作者:akzzwj
--  发布时间:2012/9/17 15:46:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:101.jpg
图片点击可在新窗口打开查看

--  作者:lin_hailun
--  发布时间:2012/9/17 16:06:00
--  
 楼主,代码没有错。你想说明什么?

 修改编号以后,后面两列的数据自动填充了。

--  作者:akzzwj
--  发布时间:2012/9/17 16:07:00
--  

可奇怪的是 填充的数据却有问题啊

 


--  作者:lin_hailun
--  发布时间:2012/9/17 16:23:00
--  
 再看了一次代码,确实发现不了问题。

 你确定你的 入库单 中有与 入库单明细 相同编号的数据?