Foxtable(狐表)用户栏目专家坐堂 → datacolchange的问题,单行更改沒问题,整列刷新出错-已解決


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

主题:datacolchange的问题,单行更改沒问题,整列刷新出错-已解決

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
datacolchange的问题,单行更改沒问题,整列刷新出错-已解決  发帖心情 Post By:2013/5/12 10:24:00 [只看该作者]

我做了一个表"手雕汇总"

当中有工艺的数量,对应 名为"工价1"的表

做到计出对应款类的总工价

工艺分为1至4级,定级在手雕汇总的"级別"列,

 

而工价1就分开列出不同等级的单价


图片点击可在新窗口打开查看此主题相关图片如下:cos.jpg
图片点击可在新窗口打开查看

 

 

代码如下

'检测工值
If e.DataCol.Name = "款类" Then
    Dim nms() As String = { "开胚","跟形","跟重","网底","手工序","通花","瓜子耳","跟电雕" }
   
    Dim dt As  Row = Tables("手雕汇总").Current
    Dim LVS As String = e.DataRow("级別")
   
    If e.NewValue Is Nothing Then
        e.DataRow("A") = Nothing
    Else
        e.DataRow("A") = Nothing
       
        For Each nm As String In nms
            Dim col As String = dt(nm)
           
            e.DataRow("A") = e.DataRow("A") + DataTables("工价1").Compute( "sum(" & nm & LVS &  ")*" & col ,"[款类] = '" & e.NewValue & "'")
           
        Next
        e.DataRow("A") = e.DataRow("A") + e.DataRow("加收_工值")
    End If
End If

 

这段代码,在单行改变"款类"列时,计算答案是正确的

但若果"款类"列是整列刷新,计算答案就出錯了.

图中,"总工值"列,我是用表达式去做的,而"A"列就是用代码计算出來的

单行更改"款类"列,代码计算是正确


图片点击可在新窗口打开查看此主题相关图片如下:handneo.jpg
图片点击可在新窗口打开查看
 

 

"款类"列-整列刷新后,"A"列的计算结果出錯了.


图片点击可在新窗口打开查看此主题相关图片如下:hand.jpg
图片点击可在新窗口打开查看

这是什麼原因?是不是我代码有问题?

 

 

[此贴子已经被作者于2013-5-19 15:53:29编辑过]

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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/5/13 8:35:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/13 20:59:00 [只看该作者]

我把整个文件夾打包上传吧,因为是外部数据源,不知你们打开会不会出錯

 

外部数据源的地址是:  \\Jc82\sys\工作表\TEAM.mdb

                            \\Jc82\sys\工作表\STOTAL.MDB

                            \\Jc82\sys\工作表\styletest.MDB

 

而图片也有外连的地址,你们沒有这个地址时,初打开会很慢的

我回家再上传,


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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/13 23:54:00 [只看该作者]

每次只能上传3个
?

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作表.part04.rar
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作表.part05.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作表.part06.rar
[此贴子已经被作者于2013-5-19 16:28:27编辑过]

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/13 23:59:00 [只看该作者]


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作表.part01.rar



 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作表.part02.rar


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作表.part03.rar

[此贴子已经被作者于2013-5-19 16:27:58编辑过]

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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2013/5/14 9:24:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/14 14:02:00 [只看该作者]

因为备注型的列有是图片列

引用地址是\\192.168.0.228\img\工艺图

你电脑局域网沒有这个地址,就会卡一会的

把这个地址消去就不会卡的


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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/19 [只看该作者]

几天來,沒有办法解決这问题嗎?
这个月內想把现在的问题解決,然后就购买开发版

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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/5/19 7:00:00 [只看该作者]

If e.DataCol.Name = "款类" Then
    Dim nms() As String = { "开胚","跟形","跟重","网底","手工序","通花","瓜子耳","跟电雕" }  
    Dim dt As  DataRowe.DataRow
    Dim LVS As String = dt("级別")  
    If e.NewValue Is Nothing Then
        dt("A") = Nothing
    Else
        dt("A") = Nothing 
        For Each nm As String In nms
            Dim col As String = dt(nm)          
            dt("A") = dt("A") + DataTables("工价1").Compute( "sum(" & nm & LVS &  ")*" & col ,"[款类] = '" & e.NewValue & "'")  
        Next
        dt("A") = dt("A") + dt("加收_工值")
    End If
End If

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


加好友 发短信
等级:一尾狐 帖子:488 积分:3358 威望:0 精华:0 注册:2013/4/17 21:14:00
  发帖心情 Post By:2013/5/19 10:21:00 [只看该作者]

Dim dt As  DataRowe.DataRow 与  Dim dt As  Row = Tables("手雕汇总").Current
分別在于哪呢?
是不是 CURRENT是锁定行,就锁定在第一行,出來的结果就因此而出錯呢?
不过现在真的得到解決,感谢don

 回到顶部