Foxtable(狐表)用户栏目专家坐堂 → 跨表应用中没考虑到的问题


  共有3219人关注过本帖平板打印复制链接

主题:跨表应用中没考虑到的问题

帅哥哟,离线,有人找我吗?
zhangchi96
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:551 积分:5001 威望:0 精华:0 注册:2012/2/11 13:27:00
跨表应用中没考虑到的问题  发帖心情 Post By:2014/3/22 14:04:00 [只看该作者]

 引用一段说明书的内容
3.4.2.4.3.11 跨表引用的自动更新

上一节提到,如果在订单表的DataColChanged事件中加入如下代码:

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

 

 

问题:如果在“产品”中,有这样的记录

 

产品表:

--------------------------------

序号   时  间         品名     单价

  1   2013-1-1      钢笔A    7.00

  2   2013-1-2      铅笔      2.00

  3   2013-1-3      钢笔A    9.00

  4   2013-1-4      钢笔B    5.00

  5   2013-1-5      钢笔A    8.00

  6   2013-1-5      钢笔A    8.00

  6   2013-1-6      钢笔A    8.00

 

订单表:

--------------------------------

序号   时  间         品名     最初单价   第2次单价   最终单价  平均单价

  1    2013-3-1      钢笔A      7.00           ??          ??        ??

  4    2013-3-4      钢笔B      5.00           ??           ??        ??

 

 

最初单价:就是第一次的找到的记录,关于问号(??)部分的代码如何实现,请教各位高手!

              (最想解决的是: 填写“最终单价”的代码)

[此贴子已经被作者于2014-3-22 14:06:50编辑过]

 回到顶部