以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  Datacolchanged代码问题求助!!!  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=55519)

--  作者:身份不明
--  发布时间:2014/8/18 15:28:00
--  Datacolchanged代码问题求助!!!

If e.DataCol.name="总印次" Then
     If e.DataRow(e.DataCol.name)<70000 Then
         e.DataRow("工资")=e.DataRow("总印次")/70000 * e.DataRow("总印次") * 26 / 10000
     Else If e.DataRow(e.DataCol.name)>=70000 Then
         e.DataRow("工资")=((e.DataRow("总印次") - 70000) * 26 * 1.5 + 70000 * 26 ) / 10000
     End If
End If

 

Bin老师,先看下我的代码有没有问题啊,我写好后没有报错!!

但是从新记载数据后,无法显示统计的结果。

我分析的原因:是不是因为总印次列是表达式列,所以无法统计数据呢,还是其它的原因!!


--  作者:Bin
--  发布时间:2014/8/18 15:30:00
--  
是的,你说对了.

你应该判断触发 总因次列 的列

例如
列C是表达式    表达式为   列A+列B

那么你判断列C是没用的,  应该判断列A和列B

--  作者:狐狸爸爸
--  发布时间:2014/8/18 15:32:00
--  

参考:

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

 


--  作者:有点甜
--  发布时间:2014/8/18 15:35:00
--  

 如果是表达式列,那么你就得去找到对应的列写代码。

 

 比如 如果总印次=sum(数量) 那么你就得去子表写代码

 

If e.DataCol.name = "数量" Then
    DataTables("父表").DataCols("工资").RaiseDataColChanged("关联列 = \'" & e.DataRow("关联列") & "\'")
End If

 

--------------------

 

父表Datacolchanged

 

If e.DataCol.name="工资" Then
     If e.DataRow("总印次")<70000 Then
         e.DataRow("工资")=e.DataRow("总印次")/70000 * e.DataRow("总印次") * 26 / 10000
     Else If e.DataRow("总印次")>=70000 Then
         e.DataRow("工资")=((e.DataRow("总印次") - 70000) * 26 * 1.5 + 70000 * 26 ) / 10000
     End If
End If

 


--  作者:身份不明
--  发布时间:2014/8/18 17:05:00
--  

遇到了麻烦的问题

If e.DataCol.name="总印次" Then
     If e.DataRow(e.DataCol.name)<70000 Then
         e.DataRow("工资")=e.DataRow("总印次")/70000 * e.DataRow("总印次") * 26 / 10000
     Else If e.DataRow(e.DataCol.name)>=70000 Then
         e.DataRow("工资")=((e.DataRow("总印次") - 70000) * 26 * 1.5 + 70000 * 26 ) / 10000
     End If
End If

 

如果我在窗口里插入Table1,上述统计代码的统计功能如何在Afterload事件里实现呢


--  作者:身份不明
--  发布时间:2014/8/18 17:08:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:11111111111111111.jpg
图片点击可在新窗口打开查看
我想先通过窗口中的表统计出每天的总印次,在根据条件统计工资!!
--  作者:有点甜
--  发布时间:2014/8/18 17:08:00
--  

 看4楼,然后写这句代码

 

DataTables("父表").DataCols("工资").RaiseDataColChanged()


--  作者:身份不明
--  发布时间:2014/8/18 17:16:00
--  

我没有做父表和子表的关联,甜老师。

我现在的问题是,比如这个人一天可以完成了10个订单,10个订单一共完成了75000印次。

那我就要根据这个条件,来统计他一天的工资。

If e.DataRow(e.DataCol.name)>=70000 Then
e.DataRow("工资")=((e.DataRow("总印次") - 70000) * 26 * 1.5 + 70000 * 26 ) / 10000

 

但是如果他完成了小于70000的印次,就要通过这个条件来统计工资。
If e.DataRow(e.DataCol.name)<70000 Then
         e.DataRow("工资")=e.DataRow("总印次")/70000 * e.DataRow("总印次") * 26 / 10000

我现在这个表是按订单编号来计算单个订单的印次,没办法算一天的总印次!!


--  作者:身份不明
--  发布时间:2014/8/18 17:18:00
--  
我是想能否通过窗口统计的方法,自动按人员按每天统计总印次,得出总印次后,由以上条件自动计算出每天的工资呢!!
--  作者:身份不明
--  发布时间:2014/8/18 17:20:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2222222222222222.jpg
图片点击可在新窗口打开查看
现在通过窗口统计,只能统计出每天的总印次,但是如何通过条件计算工资,我不知道该如何实现这个功能了!