Foxtable(狐表)用户栏目专家坐堂 → 求助。。。根据条件求和


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

主题:求助。。。根据条件求和

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


加好友 发短信
等级:童狐 帖子:252 积分:1355 威望:0 精华:0 注册:2009/4/5 13:06:00
  发帖心情 Post By:2009/5/21 12:03:00 [显示全部帖子]

将表B发出数量列改成数值型。
将上面代码中的if dr.("计算类别")= a then改成 if dr("计算类别")= a then

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


加好友 发短信
等级:童狐 帖子:252 积分:1355 威望:0 精华:0 注册:2009/4/5 13:06:00
  发帖心情 Post By:2009/5/21 13:56:00 [显示全部帖子]

在表B设置重置表A的代码即可。

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


加好友 发短信
等级:童狐 帖子:252 积分:1355 威望:0 精华:0 注册:2009/4/5 13:06:00
  发帖心情 Post By:2009/5/21 14:03:00 [显示全部帖子]

以下是引用卟离卟弃在2009-5-21 13:46:00的发言:
我想当B表中一有变动,A表马上也做出变动。
应该怎么改代码


这种要求最简单的方法是两表以物品编号建立关联。
然后增加一个表达式列,表达式为:iif([计算类别]='自动求和',Sum(Child(关联名).发出数量),[求和数量])

[此贴子已经被作者于2009-5-21 14:03:29编辑过]

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


加好友 发短信
等级:童狐 帖子:252 积分:1355 威望:0 精华:0 注册:2009/4/5 13:06:00
  发帖心情 Post By:2009/5/21 21:34:00 [显示全部帖子]

可以设置代码用RaiseDataColChanged进行重置。

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


加好友 发短信
等级:童狐 帖子:252 积分:1355 威望:0 精华:0 注册:2009/4/5 13:06:00
  发帖心情 Post By:2009/5/22 23:04:00 [显示全部帖子]

以下是引用卟离卟弃在2009-5-21 20:48:00的发言:
不用表达式列。。。。
如果不用表达式列就一定要按重置????


那就在表B的DataColChanged事件中设置如下代码:

if e.DataCol.Name = "发出数量" Then
    Dim dt As Table = Tables("表B")
    Dim s As String = dt.Current("物品编号")
    For Each dr As DataRow in DataTables("表A").Select("[物品编号] = '" & s & "' And [计算类别] = '自动求和'")
        dr("求和数量") = dt.Compute("Sum(发出数量)","[物品编号] = '" & s & "'")
    Next
End If

[此贴子已经被作者于2009-5-22 23:06:13编辑过]

 回到顶部