Foxtable(狐表)用户栏目专家坐堂 → 请教~关联表问题


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

主题:请教~关联表问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/9 19:09:00 [显示全部帖子]

 测试了一下,你的例子,如何操作,会出现你所说的错误?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/9 22:11:00 [显示全部帖子]

 修改表datacolchanged事件的代码如下

If e.DataCol.Name.StartsWith("工序") Then
    Dim filter As String = "产品名称 = '" & e.DataRow("产品名称") & "'"
    Dim fdr As DataRow = DataTables("产品信息").Find(filter)
    If fdr IsNot Nothing Then
        Dim sum As Double = e.DataTable.Compute("sum(数量)", filter & " and 单号 = '" & e.DataRow("单号") & "' and " & e.DataCol.Name & " = '" & e.NewValue & "'")
        sum = sum * fdr(e.DataCol.Name)
        Dim fdr2 As DataRow  = DataTables("工时统计").Find(filter & " and 单号 = '" & e.DataRow("单号") & "'")
        If fdr2 Is Nothing Then
            fdr2 = DataTables("工时统计").AddNew
            fdr2("产品名称") = e.DataRow("产品名称")
            fdr2("日期") = e.DataRow("日期")
            fdr2("单号") = e.DataRow("单号")
        End If
        If DataTables("工时统计").DataCols.Contains(e.NewValue) Then
            fdr2(e.NewValue) = sum
        End If
        If e.OldValue IsNot Nothing AndAlso DataTables("工时统计").DataCols.Contains(e.OldValue) Then
            fdr2(e.OldValue) = fdr(e.DataCol.Name) * e.DataTable.Compute("sum(数量)", filter & " and 单号 = '" & e.DataRow("单号") & "' and " & e.DataCol.Name & " = '" & e.OldValue & "'")
        End If
    Else
        msgbox("没有找到【产品信息】对应的数据!")
    End If
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/2/10 22:35:00 [显示全部帖子]

回复11楼,是否有完整的例子?你的例子不能体现你所说吧?

 回到顶部