Foxtable(狐表)用户栏目专家坐堂 → 跨表统计


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

主题:跨表统计

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


加好友 发短信
等级:四尾狐 帖子:814 积分:5642 威望:0 精华:0 注册:2017/12/19 14:46:00
跨表统计  发帖心情 Post By:2019/7/8 8:46:00 [显示全部帖子]

父表:油漆采购管理台账
If e.DataCol.Name = "物资部预算编号" Then
    Dim Filter As String = "[物资部预算编号] = '" & e.NewValue & "' And [项目名称] = '" & e.DataRow("项目名称") & "' And [物资名称] = '" & e.DataRow("物资名称") & "' And [品牌或厂家] = '" & e.DataRow("品牌或厂家") & "'"
    e.DataRow("领用量") = val(DataTables("油漆领用详单").Compute("Sum(领用量)", Filter))
End If

子表:油漆领用详单
Select Case e.DataCol.Name
    Case "领用量"
        Dim pr As DataRow
        pr = DataTables("油漆采购管理台账").Find("物资部预算编号 = '" & e.DataRow("物资部预算编号") &  "' And 项目名称 = '" & e.DataRow("项目名称") & "' And 物资名称 = '" & e.DataRow("物资名称") & "' And 品牌或厂家 = '" & e.DataRow("品牌或厂家") & "'")
        If pr IsNot Nothing Then
            DataTables("油漆采购管理台账").DataCols("物资部预算编号").RaiseDataColChanged(pr)
        End If
End Select

要同时识别物资部预算编号、项目名称、物资名称、品牌或厂家 4个信息,要怎么修改?

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


加好友 发短信
等级:四尾狐 帖子:814 积分:5642 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/7/8 10:54:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:物资部管理台账.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:物资部管理台账.foxdb


物资部预算编号相同,但项目名称等不同,第二行就无法进行计算

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


加好友 发短信
等级:四尾狐 帖子:814 积分:5642 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/7/8 13:17:00 [显示全部帖子]

不是很明白

[此贴子已经被作者于2019/7/8 13:18:43编辑过]

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


加好友 发短信
等级:四尾狐 帖子:814 积分:5642 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/7/8 13:22:00 [显示全部帖子]

父表中,点击“领用”,在子表中生成相应的行!也就是把逻辑列“领用”作为了按钮!
以下的代码,保证四个条件都是存在的

Select Case e.DataCol.Name
    Case "领用"
        If e.DataRow("领用") = True Then
            Dim dr1 As Row = Tables("油漆领用详单").AddNew()
            dr1("物资部预算编号") = e.DataRow("物资部预算编号")
            dr1("项目名称") = e.DataRow("项目名称")
            dr1("物资名称") = e.DataRow("物资名称")
            dr1("品牌或厂家") = e.DataRow("品牌或厂家")
            dr1("领用日期") = Date.today
            dr1("单位") = e.DataRow("单位")
            dr1("库存量") = e.DataRow("库存量")
            dr1.Move(0)
        End If
End Select


[此贴子已经被作者于2019/7/8 13:23:09编辑过]

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


加好友 发短信
等级:四尾狐 帖子:814 积分:5642 威望:0 精华:0 注册:2017/12/19 14:46:00
  发帖心情 Post By:2019/7/8 18:14:00 [显示全部帖子]

明白了,谢谢!

 回到顶部