以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  datacolchange的问题,单行更改沒问题,整列刷新出错-已解決  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=33029)

--  作者:realredred
--  发布时间:2013/5/12 10:24:00
--  datacolchange的问题,单行更改沒问题,整列刷新出错-已解決

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

当中有工艺的数量,对应 名为"工价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编辑过]

--  作者:realredred
--  发布时间:2013/5/13 20:59:00
--  

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

 

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

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

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

 

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

我回家再上传,


--  作者:realredred
--  发布时间:2013/5/13 23:54:00
--  
每次只能上传3个
?

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

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

--  作者:realredred
--  发布时间:2013/5/13 23:59:00
--  

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



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


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

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

--  作者:realredred
--  发布时间:2013/5/14 14:02:00
--  

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

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

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

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


--  作者:realredred
--  发布时间:2013/5/19
--  
几天來,沒有办法解決这问题嗎?
这个月內想把现在的问题解決,然后就购买开发版

--  作者:don
--  发布时间: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
--  发布时间:2013/5/19 10:21:00
--  
Dim dt As  DataRowe.DataRow 与  Dim dt As  Row = Tables("手雕汇总").Current
分別在于哪呢?
是不是 CURRENT是锁定行,就锁定在第一行,出來的结果就因此而出錯呢?
不过现在真的得到解決,感谢don