Foxtable(狐表)用户栏目专家坐堂 → 求解:新增按钮事件,拟增加关联表数据,结果一点按钮就关闭了整个项目!


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

主题:求解:新增按钮事件,拟增加关联表数据,结果一点按钮就关闭了整个项目!

帅哥哟,离线,有人找我吗?
李孝春
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(blackzhu)严重的不合理的结构,试试这样:表事...  发帖心情 Post By:2014/6/17 8:54:00 [只看该作者]

朱老师 关键的还是下面的代码如法成功弄入表事件中,一旦运行还是一样的死循环了

但是在已经打开固定资产折旧资金表中 运行又可以实现相关部位的计算

纠结中啊   表结构是不大合理 但是还是希望找到这个问题的纠结处 便于以后避免再次犯错


Dim r As Row =Tables("企业概况.企业组织").Current
Dim r2 As Row =Tables("企业概况").Current
Dim r3 As Row =Tables("企业概况.固定资产折旧流动资金").Current
e.DataRow("经费费用1_费用")= r("业主或经理_月薪")
e.DataRow("经营费用2_费用")=r("员工1_月薪")+r("员工2_月薪")+r("员工3_月薪")
e.DataRow("经营费用4_费用")=r2("人员推销_成本")+r2("广告_成本")+r2("公共关系_成本")+r2("营业推广_成本")
e.DataRow("经营费用3_费用")=r2("选址1_租金")
e.DataRow("经营费用7_费用")=r("责任1_费用")
e.DataRow("经营费用8_费用")=(r("执照1_费用")+r("执照2_费用")+r("执照3_费用")+r("执照4_费用"))/12
e.DataRow("其他经营费用合计")=e.DataRow("经费费用1_费用")+e.DataRow("经营费用2_费用")+e.DataRow("经营费用3_费用")+e.DataRow("经营费用4_费用")+e.DataRow("经营费用5_费用")+e.DataRow("经营费用6_费用")+e.DataRow("经营费用7_费用")+e.DataRow("经营费用8_费用")+e.DataRow("经营费用9_费用")+e.DataRow("经营费用10_费用")
e.DataRow("折旧项目合计价值")=r3("折旧项目1_价值")+r3("折旧项目2_价值")+r3("折旧项目3_价值")+r3("折旧项目4_价值")+r3("折旧项目5_价值")+r3("折旧项目6_价值")+r3("折旧项目7_价值")+r3("折旧项目8_价值")+r3("折旧项目9_价值")+r3("折旧项目10_价值")
e.DataRow("折旧项目1_价值")=r3("工具1_总费用")+r3("工具2_总费用")+r3("工具3_总费用")+r3("工具4_总费用")+r3("工具5_总费用")+r3("工具6_总费用")
e.DataRow("折旧项目2_价值")=r3("交通工具1_总费用")+r3("交通工具2_总费用")+r3("交通工具3_总费用")
e.DataRow("折旧项目3_价值")=r3("办公家具设备1_总费用")+r3("办公家具设备2_总费用")+r3("办公家具设备3_总费用")+r3("办公家具设备4_总费用")+r3("办公家具设备5_总费用")+r3("办公家具设备6_总费用")
e.DataRow("折旧项目4_价值")=r2("选址2_租金")
e.DataRow("折旧项目1_年折旧")=e.DataRow("折旧项目1_价值")/60
e.DataRow("折旧项目2_年折旧")=e.DataRow("折旧项目2_价值")/120
e.DataRow("折旧项目3_年折旧")=e.DataRow("折旧项目3_价值")/60
e.DataRow("折旧项目4_年折旧")=e.DataRow("折旧项目4_价值")/12
e.DataRow("折旧项目5_年折旧")=e.DataRow("折旧项目5_价值")/120
e.DataRow("折旧项目6_年折旧")=e.DataRow("折旧项目6_价值")/120
e.DataRow("折旧项目7_年折旧")=e.DataRow("折旧项目7_价值")/12
e.DataRow("折旧项目8_年折旧")=e.DataRow("折旧项目8_价值")/12
e.DataRow("折旧项目9_年折旧")=e.DataRow("折旧项目9_价值")/12
e.DataRow("折旧项目10_年折旧")=e.DataRow("折旧项目10_价值")/12
e.DataRow("折旧项目合计年折旧")=e.DataRow("折旧项目1_年折旧")+e.DataRow("折旧项目2_年折旧")+e.DataRow("折旧项目3_年折旧")+e.DataRow("折旧项目4_年折旧")+e.DataRow("折旧项目5_年折旧")+e.DataRow("折旧项目6_年折旧")+e.DataRow("折旧项目7_年折旧")+e.DataRow("折旧项目8_年折旧")+e.DataRow("折旧项目9_年折旧")+e.DataRow("折旧项目10_年折旧")

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/17 8:56:00 [只看该作者]

东西太多,问题原因很简单,只是内容太多要一个个跟踪找出来需要时间.


你自己找一下就知道了.  A改变为B赋值触发事件B改变又为A赋值触发事件,A改变为B赋值 死循环.

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/17 9:05:00 [只看该作者]

 真心不想说了。

 

 在第一行加入 SystemReady = False

 

 在最后一行加入 SystemReady = True

 

 再有,如果你不想用这种代码,你每个赋值的操作,都必须有列名判断啊。


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/6/17 9:06:00 [只看该作者]

11楼需要判断列名呀!   你还是乘早改结构吧

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


加好友 发短信
等级:九尾狐 帖子:2472 积分:17346 威望:0 精华:0 注册:2013/1/31 0:03:00
回复:(blackzhu)11楼需要判断列名呀!   你还是...  发帖心情 Post By:2014/6/17 9:13:00 [只看该作者]

朱老师 现在暂时无法更改结构了 一改全废
我想现在先找到错误原因及解决办法 便于今后不再犯类此错误


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/6/17 9:26:00 [只看该作者]

你这个错误不是很简单就能修改了,

为啥是执行当前行的计算
[此贴子已经被作者于2014-6-17 9:29:30编辑过]

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/6/17 9:55:00 [只看该作者]

新增行:

e.DataRow("折旧项目1_名称")="工具和设备"
e.DataRow("折旧项目2_名称")="交通工具"
e.DataRow("折旧项目3_名称")="办公家具和设备"
e.DataRow("折旧项目4_名称")="店铺"
e.DataRow("折旧项目5_名称")="厂房"
e.DataRow("折旧项目6_名称")="土地"
e.DataRow("折旧项目7_名称")="开办费"
e.DataRow("折旧项目8_名称")=""
e.DataRow("折旧项目9_名称")=""
e.DataRow("折旧项目10_名称")=""
e.DataRow("经营费用1_名称")="业主的工资"
e.DataRow("经营费用2_名称")="雇员工资"
e.DataRow("经营费用3_名称")="租金"
e.DataRow("经营费用4_名称")="营销费用"
e.DataRow("经营费用5_名称")="公用事业费"
e.DataRow("经营费用6_名称")="维修费"
e.DataRow("经营费用7_名称")="保险费"
e.DataRow("经营费用8_名称")="登记注册费"
e.DataRow("经营费用9_名称")="其他"
e.DataRow("经营费用10_名称")="合计"
e.DataRow("经营费用1_备注")="老板也要发工资"
e.DataRow("经营费用2_备注")="员工工资 按月计算"
e.DataRow("经营费用3_备注")="店铺租金"
e.DataRow("经营费用4_备注")="广告 公共关系 营业推广 人员推销"
e.DataRow("经营费用5_备注")="水电费 办公耗材费 "
e.DataRow("经营费用6_备注")="设备维修"
e.DataRow("经营费用7_备注")="业主及员工的保险费"
e.DataRow("经营费用8_备注")="企业执照登记注册费用"
e.DataRow("经营费用9_备注")="其他相关费用"

Dim r As Row =Tables("企业概况.企业组织").Current
Dim r2 As Row =Tables("企业概况").Current
Dim r3 As Row =Tables("企业概况.固定资产折旧流动资金").Current
e.DataRow("经费费用1_费用")= r("业主或经理_月薪")
e.DataRow("经营费用2_费用")=r("员工1_月薪")+r("员工2_月薪")+r("员工3_月薪")
e.DataRow("经营费用4_费用")=r2("人员推销_成本")+r2("广告_成本")+r2("公共关系_成本")+r2("营业推广_成本")
e.DataRow("经营费用3_费用")=r2("选址1_租金")
e.DataRow("经营费用7_费用")=r("责任1_费用")
e.DataRow("经营费用8_费用")=(r("执照1_费用")+r("执照2_费用")+r("执照3_费用")+r("执照4_费用"))/12
e.DataRow("折旧项目1_价值")=r3("工具1_总费用")+r3("工具2_总费用")+r3("工具3_总费用")+r3("工具4_总费用")+r3("工具5_总费用")+r3("工具6_总费用")
e.DataRow("折旧项目2_价值")=r3("交通工具1_总费用")+r3("交通工具2_总费用")+r3("交通工具3_总费用")
e.DataRow("折旧项目3_价值")=r3("办公家具设备1_总费用")+r3("办公家具设备2_总费用")+r3("办公家具设备3_总费用")+r3("办公家具设备4_总费用")+r3("办公家具设备5_总费用")+r3("办公家具设备6_总费用")
e.DataRow("折旧项目4_价值")=r2("选址2_租金")

e.DataRow("折旧项目合计价值")=r3("折旧项目1_价值")+r3("折旧项目2_价值")+r3("折旧项目3_价值")+r3("折旧项目4_价值")+r3("折旧项目5_价值")+r3("折旧项目6_价值")+r3("折旧项目7_价值")+r3("折旧项目8_价值")+r3("折旧项目9_价值")+r3("折旧项目10_价值")

触发列:


Select Case e.DataCol.Name
    Case "工具1_数量","工具1_单价"
        e.DataRow("工具1_总费用")=e.DataRow("工具1_数量")*e.DataRow("工具1_单价")
End Select
Select Case e.DataCol.Name
    Case "工具2_数量","工具2_单价"
        e.DataRow("工具2_总费用")=e.DataRow("工具2_数量")*e.DataRow("工具2_单价")
End Select
Select Case e.DataCol.Name
    Case "工具3_数量","工具3_单价"
        e.DataRow("工具3_总费用")=e.DataRow("工具3_数量")*e.DataRow("工具3_单价")
End Select
Select Case e.DataCol.Name
    Case "工具4_数量","工具4_单价"
        e.DataRow("工具4_总费用")=e.DataRow("工具4_数量")*e.DataRow("工具4_单价")
End Select
Select Case e.DataCol.Name
    Case "工具5_数量","工具5_单价"
        e.DataRow("工具5_总费用")=e.DataRow("工具5_数量")*e.DataRow("工具5_单价")
End Select
Select Case e.DataCol.Name
    Case "工具6_数量","工具6_单价"
        e.DataRow("工具6_总费用")=e.DataRow("工具6_数量")*e.DataRow("工具6_单价")
End Select
Select Case e.DataCol.Name
    Case "工具7_数量","工具7_单价"
        e.DataRow("工具7_总费用")=e.DataRow("工具7_数量")*e.DataRow("工具7_单价")
End Select
Select Case e.DataCol.Name
    Case "工具8_数量","工具8_单价"
        e.DataRow("工具8_总费用")=e.DataRow("工具8_数量")*e.DataRow("工具8_单价")
End Select
Select Case e.DataCol.Name
    Case "工具9_数量","工具9_单价"
        e.DataRow("工具9_总费用")=e.DataRow("工具9_数量")*e.DataRow("工具9_单价")
End Select
Select Case e.DataCol.Name
    Case "工具1_总费用","工具2_总费用","工具3_总费用","工具4_总费用","工具5_总费用","工具6_总费用"
        e.DataRow("折旧项目1_价值")=e.DataRow("工具1_总费用")+e.DataRow("工具2_总费用")+e.DataRow("工具3_总费用")+e.DataRow("工具4_总费用")+e.DataRow("工具5_总费用")+e.DataRow("工具6_总费用")+e.DataRow("工具7_总费用")+e.DataRow("工具8_总费用")+e.DataRow("工具9_总费用")
End Select
Select Case e.DataCol.Name
    Case "交通工具1_数量","交通工具1_单价"
        e.DataRow("交通工具1_总费用")=e.DataRow("交通工具1_数量")*e.DataRow("交通工具1_单价")
End Select
Select Case e.DataCol.Name
    Case "交通工具2_数量","交通工具2_单价"
        e.DataRow("交通工具2_总费用")=e.DataRow("交通工具2_数量")*e.DataRow("交通工具2_单价")
End Select
Select Case e.DataCol.Name
    Case "交通工具3_数量","交通工具3_单价"
        e.DataRow("交通工具3_总费用")=e.DataRow("交通工具3_数量")*e.DataRow("交通工具3_单价")
End Select
Select Case e.DataCol.Name
    Case "交通工具4_数量","交通工具4_单价"
        e.DataRow("交通工具4_总费用")=e.DataRow("交通工具4_数量")*e.DataRow("交通工具4_单价")
End Select
Select Case e.DataCol.Name
    Case "交通工具1_总费用","交通工具2_总费用","交通工具3_总费用"
        e.DataRow("折旧项目2_价值")=e.DataRow("交通工具1_总费用")+e.DataRow("交通工具2_总费用")+e.DataRow("交通工具3_总费用")+e.DataRow("交通工具4_总费用")
End Select

Select Case e.DataCol.Name
    Case "办公家具设备1_数量","办公家具设备1_单价"
        e.DataRow("办公家具设备1_总费用")=e.DataRow("办公家具设备1_数量")*e.DataRow("办公家具设备1_单价")
End Select
Select Case e.DataCol.Name
    Case "办公家具设备2_数量","办公家具设备2_单价"
        e.DataRow("办公家具设备2_总费用")=e.DataRow("办公家具设备2_数量")*e.DataRow("办公家具设备2_单价")
End Select
Select Case e.DataCol.Name
    Case "办公家具设备3_数量","办公家具设备3_单价"
        e.DataRow("办公家具设备3_总费用")=e.DataRow("办公家具设备3_数量")*e.DataRow("办公家具设备3_单价")
End Select
Select Case e.DataCol.Name
    Case "办公家具设备4_数量","办公家具设备4_单价"
        e.DataRow("办公家具设备4_总费用")=e.DataRow("办公家具设备4_数量")*e.DataRow("办公家具设备4_单价")
End Select
Select Case e.DataCol.Name
    Case "办公家具设备5_数量","办公家具设备5_单价"
        e.DataRow("办公家具设备5_总费用")=e.DataRow("办公家具设备5_数量")*e.DataRow("办公家具设备5_单价")
End Select
Select Case e.DataCol.Name
    Case "办公家具设备6_数量","办公家具设备6_单价"
        e.DataRow("办公家具设备6_总费用")=e.DataRow("办公家具设备6_数量")*e.DataRow("办公家具设备6_单价")
End Select
Select Case e.DataCol.Name
    Case "办公家具设备1_总费用","办公家具设备2_总费用","办公家具设备3_总费用","办公家具设备4_总费用","办公家具设备5_总费用","办公家具设备6_总费用"
        e.DataRow("折旧项目3_价值")=e.DataRow("办公家具设备1_总费用")+e.DataRow("办公家具设备2_总费用")+e.DataRow("办公家具设备3_总费用")+e.DataRow("办公家具设备4_总费用")+e.DataRow("办公家具设备5_总费用")+e.DataRow("办公家具设备6_总费用")
End Select

Select Case e.DataCol.Name
    Case "原材料1_数量","原材料1_单价"
        e.DataRow("原材料1_总费用")=e.DataRow("原材料1_数量")*e.DataRow("原材料1_单价")
End Select
Select Case e.DataCol.Name
    Case "原材料2_数量","原材料2_单价"
        e.DataRow("原材料2_总费用")=e.DataRow("原材料2_数量")*e.DataRow("原材料2_单价")
End Select
Select Case e.DataCol.Name
    Case "原材料3_数量","原材料3_单价"
        e.DataRow("原材料3_总费用")=e.DataRow("原材料3_数量")*e.DataRow("原材料3_单价")
End Select
Select Case e.DataCol.Name
    Case "原材料4_数量","原材料4_单价"
        e.DataRow("原材料4_总费用")=e.DataRow("原材料4_数量")*e.DataRow("原材料4_单价")
End Select
Select Case e.DataCol.Name
    Case "原材料5_数量","原材料5_单价"
        e.DataRow("原材料5_总费用")=e.DataRow("原材料5_数量")*e.DataRow("原材料5_单价")
End Select
Select Case e.DataCol.Name
    Case "原材料6_数量","原材料6_单价"
        e.DataRow("原材料6_总费用")=e.DataRow("原材料6_数量")*e.DataRow("原材料6_单价")
End Select

Select Case e.DataCol.Name
    Case "经费费用1_费用","经营费用2_费用","经营费用3_费用","经营费用4_费用","经营费用5_费用","经营费用6_费用","经营费用7_费用","经营费用8_费用","经营费用9_费用","经营费用10_费用"
        e.DataRow("其他经营费用合计")=e.DataRow("经费费用1_费用")+e.DataRow("经营费用2_费用")+e.DataRow("经营费用3_费用")+e.DataRow("经营费用4_费用")+e.DataRow("经营费用5_费用")+e.DataRow("经营费用6_费用")+e.DataRow("经营费用7_费用")+e.DataRow("经营费用8_费用")+e.DataRow("经营费用9_费用")+e.DataRow("经营费用10_费用")
End Select


Select Case e.DataCol.Name
    Case "折旧项目1_价值"
        e.DataRow("折旧项目1_年折旧")=e.DataRow("折旧项目1_价值")/60
End Select
Select Case e.DataCol.Name
    Case "折旧项目2_价值"
        e.DataRow("折旧项目2_年折旧")=e.DataRow("折旧项目2_价值")/120
End Select
Select Case e.DataCol.Name
    Case "折旧项目3_价值"
        e.DataRow("折旧项目3_年折旧")=e.DataRow("折旧项目3_价值")/60
End Select
Select Case e.DataCol.Name
    Case "折旧项目4_价值"
        e.DataRow("折旧项目4_年折旧")=e.DataRow("折旧项目4_价值")/12
End Select
Select Case e.DataCol.Name
    Case "折旧项目5_价值"
        e.DataRow("折旧项目5_年折旧")=e.DataRow("折旧项目5_价值")/120
End Select
Select Case e.DataCol.Name
    Case "折旧项目6_价值"
        e.DataRow("折旧项目6_年折旧")=e.DataRow("折旧项目6_价值")/120
End Select
Select Case e.DataCol.Name
    Case "折旧项目7_价值"
        e.DataRow("折旧项目7_年折旧")=e.DataRow("折旧项目7_价值")/12
End Select
Select Case e.DataCol.Name
    Case "折旧项目8_价值"
        e.DataRow("折旧项目8_年折旧")=e.DataRow("折旧项目8_价值")/12
End Select
Select Case e.DataCol.Name
    Case "折旧项目9_价值"
        e.DataRow("折旧项目9_年折旧")=e.DataRow("折旧项目9_价值")/12
End Select
Select Case e.DataCol.Name
    Case "折旧项目10_价值"
        e.DataRow("折旧项目10_年折旧")=e.DataRow("折旧项目10_价值")/12
End Select
Select Case e.DataCol.Name
    Case "折旧项目1_年折旧","折旧项目2_年折旧","折旧项目3_年折旧","折旧项目4_年折旧","折旧项目5_年折旧","折旧项目6_年折旧","折旧项目7_年折旧","折旧项目8_年折旧","折旧项目9_年折旧","折旧项目10_年折旧"
        e.DataRow("折旧项目合计年折旧")=e.DataRow("折旧项目1_年折旧")+e.DataRow("折旧项目2_年折旧")+e.DataRow("折旧项目3_年折旧")+e.DataRow("折旧项目4_年折旧")+e.DataRow("折旧项目5_年折旧")+e.DataRow("折旧项目6_年折旧")+e.DataRow("折旧项目7_年折旧")+e.DataRow("折旧项目8_年折旧")+e.DataRow("折旧项目9_年折旧")+e.DataRow("折旧项目10_年折旧")
End Select

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/6/17 9:56:00 [只看该作者]

你这个代码 我跟你说 就算不卡了 计算个人觉得会有问题的.  因为是个行 就是当前行!

 回到顶部
总数 18 上一页 1 2