Foxtable(狐表)用户栏目专家坐堂 → 同一列数据来自2个不同表出现异常退出


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

主题:同一列数据来自2个不同表出现异常退出

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


加好友 发短信
等级:二尾狐 帖子:502 积分:3620 威望:0 精华:0 注册:2015/4/21 22:45:00
同一列数据来自2个不同表出现异常退出  发帖心情 Post By:2016/7/4 9:44:00 [只看该作者]

Dim f As New Filler
f.SourceTable = DataTables("TAKATA成本") '指定数据来源
f.SourceCols = "客户简称,月份,运输方式" '指定数据来源列
f.DataTable = DataTables("开piao管理") '指定数据接收表
f.DataCols = "客户简称,月份,运输方式" '指定数据接收列
f.ExcludeExistValue = True
f.Distinct = True
f.append = False
f.Fill() '填充数据


Dim g As New Filler
g.SourceTable = DataTables("成本明细") '指定数据来源
g.SourceCols = "客户简称,月份" '指定数据来源列
g.DataTable = DataTables("开piao管理") '指定数据接收表
g.DataCols = "客户简称,月份" '指定数据接收列
g.ExcludeExistValue = True
g.Distinct = True
g.append = False
g.Fill() '填充数据

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/4 9:46:00 [只看该作者]

 你dataColChanged或者dataColChanging事件的代码注释掉,看是否还报错。

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


加好友 发短信
等级:二尾狐 帖子:502 积分:3620 威望:0 精华:0 注册:2015/4/21 22:45:00
  发帖心情 Post By:2016/7/4 10:00:00 [只看该作者]

去掉后不报错了


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/4 10:01:00 [只看该作者]

检测你的事件代码,一定要判断列名,不然很可能死循环

 

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

 


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


加好友 发短信
等级:二尾狐 帖子:502 积分:3620 威望:0 精华:0 注册:2015/4/21 22:45:00
  发帖心情 Post By:2016/7/4 10:14:00 [只看该作者]

Select Case e.DataCol.name
    Case "客户简称","月份"
        e.DataRow("手册成本") = DataTables("手册业务").Compute("sum(成本合计)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "'" )
End Select
Select Case e.DataCol.name
    Case "客户简称","月份"
        e.DataRow("手册开piao") = DataTables("手册业务").Compute("sum(合计)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "'" )
End Select
Select Case e.DataCol.name
    Case "客户简称","月份","运输方式"
        If e.DataRow.IsNull("运输方式") Then
            e.DataRow("进口成本") = DataTables("成本明细").Compute("sum(成本合计)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "'" )
        Else
            e.DataRow("进口成本") = DataTables("TAKATA成本").Compute("sum(应付)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "' and [运输方式]= '" & e.DataRow("运输方式") & "'" )
        End If
End Select
Select Case e.DataCol.name
    Case "客户简称","月份","运输方式"
        If e.DataRow.IsNull("运输方式") Then
            e.DataRow("进口垫付") = DataTables("账单明细").Compute("sum(垫付)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "'" )
        Else
            e.DataRow("进口垫付") = DataTables("TAKATA账单").Compute("sum(垫付费用)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "' and [运输方式]= '" & e.DataRow("运输方式") & "'" )
        End If
End Select
Select Case e.DataCol.name
    Case "客户简称","月份","运输方式"
        If e.DataRow.IsNull("运输方式") Then
            e.DataRow("进口开piao") = DataTables("账单明细").Compute("sum(合计)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "'" )
        Else
            e.DataRow("进口开piao") = DataTables("TAKATA账单").Compute("sum(合计)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "' and [运输方式]= '" & e.DataRow("运输方式") & "'" )
        End If
End Select


在这些代码前面做判断?

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/4 10:16:00 [只看该作者]

 你这段代码是不影响的。事件里面,肯定有其他代码影响了,贴出完整代码。

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


加好友 发短信
等级:二尾狐 帖子:502 积分:3620 威望:0 精华:0 注册:2015/4/21 22:45:00
  发帖心情 Post By:2016/7/4 10:18:00 [只看该作者]

Dim f As New Filler
f.SourceTable = DataTables("TAKATA成本") '指定数据来源
f.SourceCols = "客户简称,月份,运输方式" '指定数据来源列
f.DataTable = DataTables("开piao管理") '指定数据接收表
f.DataCols = "客户简称,月份,运输方式" '指定数据接收列
f.ExcludeExistValue = True
f.Distinct = True
f.append = False
f.Fill() '填充数据


Dim g As New Filler
g.SourceTable = DataTables("成本明细") '指定数据来源
g.SourceCols = "客户简称,月份" '指定数据来源列
g.DataTable = DataTables("开piao管理") '指定数据接收表
g.DataCols = "客户简称,月份" '指定数据接收列
g.ExcludeExistValue = True
g.Distinct = True
g.append = False
g.Fill() '填充数据

这个代码写进去后,前面的一段代码执行没问题,后面一段貌似有些问题,没有正确执行


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/4 10:20:00 [只看该作者]

看6楼,不可能会退出的。不正确执行指什么啊?

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


加好友 发短信
等级:二尾狐 帖子:502 积分:3620 威望:0 精华:0 注册:2015/4/21 22:45:00
  发帖心情 Post By:2016/7/4 10:24:00 [只看该作者]

'Dim f As New Filler
'f.SourceTable = DataTables("TAKATA成本") '指定数据来源
'f.SourceCols = "客户简称,月份,运输方式" '指定数据来源列
'f.DataTable = DataTables("开piao管理") '指定数据接收表
'f.DataCols = "客户简称,月份,运输方式" '指定数据接收列
'f.ExcludeExistValue = True
'f.Distinct = True
'f.append = False
'f.Fill() '填充数据


'Dim g As New Filler
'g.SourceTable = DataTables("成本明细") '指定数据来源
'g.SourceCols = "客户简称,月份" '指定数据来源列
'g.DataTable = DataTables("开piao管理") '指定数据接收表
'g.DataCols = "客户简称,月份" '指定数据接收列
'g.ExcludeExistValue = True
'g.Distinct = True
'g.append = False
'g.Fill() '填充数据


Select Case e.DataCol.name
    Case "客户简称","月份"
        e.DataRow("手册成本") = DataTables("手册业务").Compute("sum(成本合计)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "'" )
End Select
Select Case e.DataCol.name
    Case "客户简称","月份"
        e.DataRow("手册开piao") = DataTables("手册业务").Compute("sum(合计)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "'" )
End Select
Select Case e.DataCol.name
    Case "客户简称","月份","运输方式"
        If e.DataRow.IsNull("运输方式") Then
            e.DataRow("进口成本") = DataTables("成本明细").Compute("sum(成本合计)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "'" )
        Else
            e.DataRow("进口成本") = DataTables("TAKATA成本").Compute("sum(应付)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "' and [运输方式]= '" & e.DataRow("运输方式") & "'" )
        End If
End Select
Select Case e.DataCol.name
    Case "客户简称","月份","运输方式"
        If e.DataRow.IsNull("运输方式") Then
            e.DataRow("进口垫付") = DataTables("账单明细").Compute("sum(垫付)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "'" )
        Else
            e.DataRow("进口垫付") = DataTables("TAKATA账单").Compute("sum(垫付费用)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "' and [运输方式]= '" & e.DataRow("运输方式") & "'" )
        End If
End Select
Select Case e.DataCol.name
    Case "客户简称","月份","运输方式"
        If e.DataRow.IsNull("运输方式") Then
            e.DataRow("进口开piao") = DataTables("账单明细").Compute("sum(合计)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "'" )
        Else
            e.DataRow("进口开piao") = DataTables("TAKATA账单").Compute("sum(合计)","[客户简称]= '" & e.DataRow("客户简称") & "' and [月份]= '" & e.DataRow("月份") & "' and [运输方式]= '" & e.DataRow("运输方式") & "'" )
        End If
End Select

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/4 10:25:00 [只看该作者]

7楼的代码,单独写到一个按钮里执行,不要写到datacolchanged事件里面去的啊。

 回到顶部
总数 14 1 2 下一页