Foxtable(狐表)用户栏目专家坐堂 → 关联自动引用


  共有4058人关注过本帖树形打印复制链接

主题:关联自动引用

美女呀,离线,留言给我吧!
xiaohuli
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
关联自动引用  发帖心情 Post By:2014/5/15 9:27:00 [只看该作者]

老师们帮帮忙,有入库表,库存表,出库表,库存和入库建立了关联,库存是父表,入库是子表,出库和库存建立了关联,库存是父表,出库是子表,三个表都有几个相同的字段,如产品编号,产品名称,单位等。我现在遇到了一个问题,就是我想入库的时候相同的字段的值自动填入到库存表中,可因为库存表是父表,所以入库的时候相同的字段没有办法自动填入到库存表中,这个问题怎么能解决?

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/5/15 9:39:00 [只看该作者]

只是关联的字段不可重复而已,库存表也不应该有重复的关联字段. 产品编号应该是唯一的

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/15 9:53:00 [只看该作者]

 入库时相同的字段填入库存表?这个是不可能的。只能是子表引用父表的内容。

 

 你是想子表填入的数据父表没有对应的,就自动添加?


 回到顶部
美女呀,离线,留言给我吧!
xiaohuli
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2014/5/15 10:06:00 [只看该作者]

有点甜,能不能给我一个思路,我的库存表和入库表,出库表都建立了关联,库存是父表,库存表中的入库数量,入库金额,出库数量,出库金额都是表达式,
入库_数量 Sum(Child(rk).数量)
入库_金额 Sum(Child(rk).金额)
出库_数量 Sum(Child(ck).数量)
出库_金额 Sum(Child(ck).金额)
库存_数量 IsNull([初始库存],0) + IsNull([入库_数量],0) - IsNull([出库_数量],0)
库存_金额 [库存_数量] * [库存_单价]

可是我还想入库的时候,把和库存表中相同的字段给自动填入,这个该怎么解决,给我个启发。

要是所有的表达式列都改为数据列的话,可是实现数据的自动引用,可是库存数量的代码我又不会写?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/15 10:36:00 [只看该作者]

 你说的相同字段自动填入,是什么字段?如果是比如 编号、名称 等等,用代码填入不就行了?只要这些字段不是表达式即可。

 

 你还是上传例子吧。

 

 http://www.foxtable.com/help/topics/1451.htm

 


 回到顶部
美女呀,离线,留言给我吧!
xiaohuli
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2014/5/15 11:33:00 [只看该作者]

库存表和产品登记表,消费表建立了关联,并且库存表是父表,我的想法是当产品登记表中录入数据的时候,库存表能将产品编号,产品名称,价格等相同的列自动填入,可就因为我将库存表作为了父表,所以没办法,父表引用子表的数据呀。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/15 11:49:00 [只看该作者]

 产品登记表录入数据的时候,如果库存表没有存在这个产品,就自动在库存表插入一条记录即可。

 

 http://www.foxtable.com/help/topics/2292.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/15 11:50:00 [只看该作者]

以下是引用xiaohuli在2014-5-15 11:33:00的发言:

库存表和产品登记表,消费表建立了关联,并且库存表是父表,我的想法是当产品登记表中录入数据的时候,库存表能将产品编号,产品名称,价格等相同的列自动填入,可就因为我将库存表作为了父表,所以没办法,父表引用子表的数据呀。

 

如果琢磨不出代码,就上传你的项目。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/5/15 11:59:00 [只看该作者]

 参考下面代码,写到产品表的datacolchanged事件,列名和表名自己改一下(列名就是你的各个关联列)

 

Select Case e.DataCol.Name
    Case "产品", "名称", "价格"
        If e.DataRow.IsNull("产品") = False AndAlso e.DataRow.IsNull("名称") = False AndAlso e.DataRow.IsNull("价格") = False Then
            Dim fdr As DataRow = DataTables("库存表").Find("产品 = '" & e.DataRow("产品") & "' and 名称 = '" & e.DataRow("名称") & "' and 价格 = '" & e.DataRow("价格") & "'")
            If fdr IsNot Nothing Then
                fdr("产品") = e.DataRow("产品")
                fdr("名称") = e.DataRow("名称")
                fdr("价格") = e.DataRow("价格")
            End If
        End If
End Select


 回到顶部
美女呀,离线,留言给我吧!
xiaohuli
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2014/5/15 13:04:00 [只看该作者]

谢谢有点甜,我已经解决了。


 回到顶部