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


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

主题:跨表计算

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
跨表计算  发帖心情 Post By:2015/10/28 16:59:00 [显示全部帖子]

例子中想实现以下几个目的:一是销售预算每增加一行,生产计划物料需求及产品预算表做出相应的变化;二是删除一行,生产计划物料需求及产品预算表做出相应的变化;三是改变一行,生产计划物料需求及产品预算表做出相应的变化。

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/28 17:00:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:预算练习.foxdb


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/28 17:48:00 [显示全部帖子]

直接统计肯定没有问题,这中间主要是跨越了一个物料清单,还是不行呀,用了几天的时间了,还是得不到想要的结果,帮我做一下吧?

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/28 17:53:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:预算练习1.foxdb


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/28 18:03:00 [显示全部帖子]

你打开例子看看,一直报错

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/28 18:04:00 [显示全部帖子]

情况不一样,跨表计算是个大难题

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/28 18:29:00 [显示全部帖子]

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.10.26.1
错误所在事件:表,销售预算,DataColChanged
详细错误信息:
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.ArgumentException: 列“客户编号”不属于表 销售预算。
   在 System.Data.DataRow.GetDataColumn(String columnName)
   在 System.Data.DataRow.IsNull(String columnName)
   在 Foxtable.DataRow.get_IsNull(String ColumnName)
   在 UserCode.DataColChanged(DataColEventArgs e)
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
   在 System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes

你做了这个还是报错呀


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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/28 18:34:00 [显示全部帖子]

是否是2016版的原因呀,用2014时还没有这么多问题

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


加好友 发短信
等级:九尾狐 帖子:2234 积分:15284 威望:0 精华:0 注册:2015/7/18 10:10:00
  发帖心情 Post By:2015/10/28 19:15:00 [显示全部帖子]

以下的红色代码想实现,物料编号发生变化时,生产计划物料需求表强制更新,怎么不管用呀

Select Case e.DataCol.name
    Case "物料编号"
        DataTables("生产计划物料需求").DataCols("物料编号").RaiseDataColChanged()
        Dim drs As List (of DataRow) = DataTables("物料清单").Select("产品编号 = '" & e.DataRow("物料编号") & "'")
        If drs IsNot Nothing Then
            For Each dr As DataRow In drs
                Dim fiter As String ="物料编号 ='" & dr("物料编号") & "' And 产品编号 = '" & dr("产品编号") & "' and 销售预算单号 = '" & e.DataRow("预算单号") & "'"
                Dim dr1 As DataRow =DataTables("生产计划物料需求").find (fiter)
                If dr1 IsNot Nothing Then
                    DataTables("生产计划物料需求").DataCols("物料编号").RaiseDataColChanged()
                Else
                    dr1 = DataTables("生产计划物料需求").AddNew()
                    dr1("产品编号") = e.DataRow("物料编号")
                    dr1("物料编号") = Dr("物料编号")
                    dr1("发生日期") = e.DataRow("发生日期")
                    dr1("销售预算单号") = e.DataRow("预算单号")
                End If
                'Case "产品名称","产品规格"
                'Dim dr As DataRow = DataTables("库存").Find("产品编号 = '" & e.DataRow("产品编号") & "'")
                'If dr IsNot Nothing Then
                'dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
                'End If
            Next
        End If
End Select


 回到顶部